CentOS與MinIO集成的常見方式
步驟概述:通過下載MinIO官方二進制文件,手動配置并創建Systemd服務實現集成,適合需要高度自定義的生產環境。
sudo yum update -y && sudo yum install -y wget
sudo mkdir -p /data/minio && sudo chown -R minio:minio /data/minio
sudo groupadd -r minio && sudo useradd -r -g minio -s /sbin/nologin minio
wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio
chmod +x /usr/local/bin/minio
/etc/systemd/system/minio.service
,定義服務參數(如用戶、數據目錄、端口)。[Unit]
Description=MinIO Object Storage Server
Wants=network-online.target
After=network-online.target
[Service]
User=minio
Group=minio
ExecStart=/usr/local/bin/minio server /data/minio --console-address ":9001"
Restart=always
Environment="MINIO_ROOT_USER=admin"
Environment="MINIO_ROOT_PASSWORD=YourStrongPassword"
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload && sudo systemctl start minio && sudo systemctl enable minio
步驟概述:通過MinIO官方RPM包,利用Yum/DNF包管理器快速安裝,適合追求便捷性的場景。
yum
,CentOS 8+用dnf
)。wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20250312180418.0.0-1.x86_64.rpm -O minio.rpm
sudo yum install -y minio.rpm # CentOS 7
# 或 sudo dnf install -y minio.rpm # CentOS 8+
minio --version
/etc/default/minio
文件設置環境變量(如MINIO_ROOT_USER
、MINIO_ROOT_PASSWORD
、MINIO_VOLUMES
),再啟動服務。sudo systemctl start minio && sudo systemctl enable minio
步驟概述:利用Docker容器快速部署MinIO,適合需要隔離環境或快速遷移的場景。
docker run -d \
-p 9000:9000 -p 9090:9090 \
--name minio \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=YourStrongPassword" \
-v /data/minio:/data \
-v /data/config:/root/.minio \
minio/minio server /data --console-address ":9090"
http://<服務器IP>:9090
訪問控制臺,使用配置的賬號登錄。步驟概述:通過Kubernetes Deployment和Service部署MinIO,適合需要高可用、彈性伸縮的集群環境。
minio-deployment.yaml
,定義Pod模板(鏡像、環境變量、數據卷)、副本數及端口。apiVersion: apps/v1
kind: Deployment
metadata:
name: minio
spec:
replicas: 4 # 生產環境建議至少4節點
selector:
matchLabels:
app: minio
template:
metadata:
labels:
app: minio
spec:
containers:
- name: minio
image: minio/minio
args: ["server", "/data", "--console-address", ":9001"]
env:
- name: MINIO_ROOT_USER
value: "admin"
- name: MINIO_ROOT_PASSWORD
value: "YourStrongPassword"
ports:
- containerPort: 9000
- containerPort: 9001
volumeMounts:
- name: minio-data
mountPath: /data
volumes:
- name: minio-data
persistentVolumeClaim:
claimName: minio-pvc
# minio-service.yaml
apiVersion: v1
kind: Service
metadata:
name: minio-service
spec:
selector:
app: minio
ports:
- name: api
port: 9000
targetPort: 9000
- name: console
port: 9001
targetPort: 9001
type: LoadBalancer # 或NodePort
kubectl apply -f minio-deployment.yaml -f minio-service.yaml
kubectl get pods -w
minio
)運行MinIO,避免權限問題。minioadmin
)和密碼(minioadmin
),啟用HTTPS(參考MinIO官方文檔配置SSL證書)。