kubernetes通过两种方式部署minio
Helm方式部署
参考:https://github.com/minio/charts
基于官方helm chat进行部署,安装 MINIO chart
1 | helm repo add minio https://helm.min.io/ |
独立模式部署
独立模式部署minio,使用deployment方式部署单个pod:
1 | helm install minio \ |
分布式模式部署
分布式模式部署minio,使用statefulset模式部署多个pod并分布在不同节点:
1 | helm install minio \ |
说明:独立模式下replicas参数不生效,仅对分布式模式生效, 可选值 4 <= x <= 16
清理minio集群
1 | helm -n minio uninstall minio |
分布式模式下需要手动清理pvc和pv
1 | kubectl -n minio delete pvc --all |
Operator方式部署
MinIO Operator为Kubernetes带来了对MinIO,图形控制台和加密的原生支持。
参考:https://github.com/minio/operator
安装minio插件
1 | kubectl krew install minio |
MinIO Operator提供MinIO租户创建,管理,升级,池添加等功能。Operator可以控制和管理多个MinIO租户。
kubectl minio初始化,创建MinIO Operator
1 | kubectl minio init |
部署tenant
1 | kubectl minio tenant create tenant \ |
说明: storage-class如不指定,可默认storage-class
访问配置
修改service类型为NodePort,方便访问minio UI以及tenant-console UI:
1 | kubectl -n tenant patch svc minio -p '{"spec": {"type": "NodePort"}}' |
minio扩容
1 | kubectl minio tenant expand --name tenant --servers 8 --volumes 32 --capacity 32Ti |
清理operator
1 | kubectl minio tenant delete tenant -n tenant |