快速部署minio的一个思路

发布时间 2023-10-26 07:23:53作者: 济南小老虎

快速部署minio的一个思路


背景

小型项目上希望能够快速部署一些中间件.
因为minio比较简单,想着快速一键部署. 
加快工作效率. 
这里将脚本和思路写下来, 其他应用可以一样进行. 

思路

1. 下载好minio的二进制.
2. 编写好systemd脚本
3. 理论文件和system脚本内的值放置文件,执行启动等.
4. 设置开机启动和异常自动重启的设置

二进制获取

wget -c https://dl.min.io/server/minio/release/linux-arm64/minio -O minio_arm64
wget -c https://dl.min.io/server/minio/release/linux-amd64/minio -O minio_amd64

可以通过 ./minio -v 查看版本 比如今天下载的版本为:
minio_arm64 version RELEASE.2023-10-25T06-33-25Z (commit-id=c60f54e5be7302d82d0d8fc404c056fea4e2bf4e)
Runtime: go1.21.3 linux/arm64
License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
Copyright: 2015-2023 MinIO, Inc.

部署思路

先设置一下 ssh 可以免密访问
然后通过scp上传二进制文件. 
然后创建对应的目录. 
创建 systemd 的service 文件. 
然后启动服务

配置文件里面 可以设置商环境变量
主要有用户密码还有可以用于收集minio监控信息的设置

可以根据需要修改 --address的端口避免端口冲突.
然后可以修改 --console-address 修改web控制台的端口. 

脚本

miniofile=minio_amd64
minioip=192.168.254.214

scp ${miniofile} root@${minioip}:/usr/bin/minio
ssh root@${minioip} "
systemctl stop firewalld && systemctl disable firewalld
chmod 777 /usr/bin/minio
mkdir -p  /data/minio/data
cat  << EOF > /etc/systemd/system/minio.service
[Unit]
Description=minio

[Service]
Type=simple

Environment="MINIO_ACCESS_KEY=minio"
Environment="MINIO_SECRET_KEY=minio"
Environment="MINIO_PROMETHEUS_AUTH_TYPE=public"
ExecStart=/usr/bin/minio server --address 0.0.0.0:9000 --console-address 0.0.0.0:9001  /data/minio/data/
Restart=always
LimitNOFILE=65536
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

systemctl enable --now minio

echo "等待五秒判断服务是否可以用"
sleep 5
netstat -anop |grep 9000


将文件部署为 deployminio 与 minio的二进制文件放到同一个目录 执行脚本即可. 

设置互信
ssh-keygen  # 创建秘钥
ssh-copy-id root@192.168.255.65

执行命令 
cd /deploy && ./deployminio 

部署效果

[root@grafana deploy]# ./deployminio

Authorized users only. All activities may be monitored and reported.
minio_amd64                   

Authorized users only. All activities may be monitored and reported.
Created symlink /etc/systemd/system/multi-user.target.wants/minio.service → /etc/systemd/system/minio.service.
判断服务是否可以用
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      79308/minio          off (0.00/0/0)
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      79308/minio          off (0.00/0/0)

修改密码的方法

vim /etc/systemd/system/minio.service

修改环境变量里面的  
MINIO_ACCESS_KEY
MINIO_SECRET_KEY
对应的值
然后执行
systemctl daemon-reload
然后重启minio 
systemctl restart minio 就可以了.