Kubernetes集群中分布式Minio的mc alias配置及mc cp使用咨询
分布式MinIO租户的mc alias配置及对象复制操作指南
1. 获取MinIO租户的访问端点
MinIO Operator创建的分布式租户会对应生成Service资源,根据访问场景选择合适的端点:
- 集群内访问:使用租户的Headless Service或ClusterIP Service地址,格式为
http://<service-name>.<tenant-namespace>.svc.cluster.local:9000
执行以下命令获取租户相关Service:
通常Headless Service命名为kubectl get svc -n <租户命名空间>minio-<租户名>-hl,ClusterIP Service命名为minio-<租户名> - 外部访问:若已通过Ingress、NodePort或LoadBalancer暴露服务,使用对应的域名、节点IP+端口或LoadBalancer外部IP作为端点(HTTPS场景需替换为
https://开头)
2. 获取租户的访问密钥
MinIO租户的访问密钥(ACCESS_KEY、SECRET_KEY)存储在对应命名空间的Secret中,默认命名为 minio-<租户名>-secret:
- 获取ACCESS_KEY:
kubectl get secret <租户secret名称> -n <租户命名空间> -o jsonpath='{.data.accesskey}' | base64 -d - 获取SECRET_KEY:
kubectl get secret <租户secret名称> -n <租户命名空间> -o jsonpath='{.data.secretkey}' | base64 -d
3. 执行mc alias set配置
命令格式与单节点一致,仅需替换为租户的端点和密钥:
mc alias set <自定义别名> <租户访问端点> <ACCESS_KEY> <SECRET_KEY>
示例(集群内访问场景,动态获取密钥):
mc alias set myminio http://minio-mytenant-hl.minio-tenant.svc.cluster.local:9000 \ $(kubectl get secret minio-mytenant-secret -n minio-tenant -o jsonpath='{.data.accesskey}' | base64 -d) \ $(kubectl get secret minio-mytenant-secret -n minio-tenant -o jsonpath='{.data.secretkey}' | base64 -d)
4. 验证配置并复制对象
- 验证别名配置有效性:
mc admin info <自定义别名> - 复制本地对象到租户存储桶(需确保目标存储桶已存在,可通过
mc mb <自定义别名>/<存储桶名>创建):mc cp <本地文件路径> <自定义别名>/<存储桶名>/
内容的提问来源于stack exchange,提问作者Devaddy
相关产品推荐
相关产品推荐

