如何在Kubernetes集群中使用cert-manager为MinIO创建自签名TLS证书
TLS核心概念
- 证书颁发机构(CA):签发数字证书的信任锚点,本次使用集群内自行生成的私有CA,无需对接公信第三方机构,仅需在需要信任该证书的环境导入CA证书即可完成校验。
- 自签名证书:由私有CA直接签发的证书,适配私有集群、内部测试等非公开访问场景,满足本次MinIO加密传输需求。
- cert-manager核心资源:
- Issuer/ClusterIssuer:定义证书签发主体,本次配置为自签名类型,自动生成集群内私有CA
- Certificate:定义待生成证书的域名、有效期、存储位置等属性,cert-manager会自动根据该资源生成对应TLS证书并存储为K8s Secret
全流程配置(全Helm托管,无本地执行命令)
所有资源均直接写入MinIO对应Helm Chart的templates目录下,随Helm发布统一部署即可。
步骤1:配置自签名证书签发者
在Helm templates目录新增issuer.yaml文件,内容如下:
apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: minio-selfsigned-issuer namespace: <MinIO部署的命名空间> spec: selfSigned: {}
如果需要跨命名空间使用该签发者,可将Kind改为ClusterIssuer,删除namespace字段即可。
步骤2:配置MinIO TLS证书资源
在Helm templates目录新增certificate.yaml文件,内容如下:
apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: minio-tls namespace: <MinIO部署的命名空间> spec: # 证书存储的Secret名称,需和MinIO values中的certSecret字段一致 secretName: tls-minio # 证书有效期,可按需调整 duration: 8760h # 1年 renewBefore: 720h # 到期前30天自动续签 issuerRef: # 对应上一步创建的签发者名称 name: minio-selfsigned-issuer kind: Issuer # 证书生效的域名/IP,根据访问场景补充 dnsNames: # MinIO集群内服务域名,根据实际服务名、命名空间调整 - minio - minio.<命名空间>.svc - minio.<命名空间>.svc.cluster.local # port-forward本地访问用域名/IP - localhost ipAddresses: - 127.0.0.1 # 如有其他固定访问IP可补充在此 # 证书私钥算法,符合MinIO要求 privateKey: algorithm: RSA encoding: PKCS1 size: 2048
cert-manager会自动生成对应Secret,默认包含3个键值:tls.crt(公钥)、tls.key(私钥)、ca.crt(CA公钥)。
步骤3:调整MinIO Helm values配置
参考提供的values片段,调整如下即可:
## TLS Settings for MinIO tls: enabled: true # 对应Certificate中定义的secretName certSecret: "tls-minio" # 对应cert-manager生成的Secret中公钥、私钥的键名 publicCrt: tls.crt privateKey: tls.key # 自签名场景无需额外配置信任证书池,留空即可 trustedCertsSecret: ""
配置后MinIO Helm Chart会自动将证书挂载到/etc/minio/certs/路径下,完全符合MinIO的路径要求。
步骤4:配置校验
Helm发布完成后:
- 查看
tls-minioSecret已正常生成,包含tls.crt和tls.key内容 - 进入MinIO Pod,查看
/etc/minio/certs目录下已存在公钥、私钥文件 - 开启port-forward后,通过
https://localhost:9000访问MinIO控制台,可查看到对应的自签名证书信息
注意事项
- 本地浏览器访问时提示证书不安全属于正常现象,如需消除提示,可将Secret中的
ca.crt内容导出导入本地系统信任存储即可 - 集群内其他服务需要访问MinIO TLS端口时,将该CA证书导入对应服务的信任池即可完成证书校验
内容的提问来源于stack exchange,提问作者n1vgabay
相关产品推荐
相关产品推荐

