cert-manager
使用 cert-manager 进行 TLS 证书管理
本指南介绍如何安装 cert-manager 以进行 TLS 证书管理。本指南假设 MinIO 运算符安装是新的或全新的。
注意
本指南使用自签名 Cluster Issuer
。您也可以使用 cert-manager 支持的其他颁发者。
主要区别在于,您必须将该 Issuer
CA 证书提供给 MinIO,而不是本指南中提到的 CA。
有关更高级的配置,请参阅 cert-manager 文档 和您自己组织的证书要求。
cert-manager 在 Kubernetes 集群中管理证书。MinIO 运算符支持使用 cert-manager 来管理和配置证书,作为 MinIO 运算符自身及其租户管理证书的替代方案。
cert-manager 从 Issuer
或 ClusterIssuer
获取有效证书,并且可以在证书过期之前自动续订证书。
ClusterIssuer
为多个命名空间颁发证书。Issuer
仅为其自己的命名空间铸造证书。
下图描述了 cert-manager 如何在 Kubernetes 集群中的命名空间中提供证书。
ClusterIssuer
存在于 Kubernetes 集群的根级别,通常是default
命名空间,以向所有其他命名空间提供证书。minio-operator
命名空间接收其自己的本地Issuer
。每个租户的命名空间都接收其自己的本地
Issuer
。每个租户命名空间颁发的证书必须让 MinIO 运算符知道并信任。
先决条件
kustomize 已安装
能够使用
kubectl
访问您的k8s
集群
设置 cert-manager
安装 cert-manager
以下命令使用 kubectl
安装 1.12.13 版本。
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.13/cert-manager.yaml
1.12.X LTS 版本 是首选,但您也可以安装最新版本。有关安装 cert-manager 的更多详细信息,请参阅其 安装说明。
为集群创建自签名集群颁发者
Cluster Issuer
是最高级别的颁发者,集群中的所有其他证书都源自它。
通过创建
ClusterIssuer
资源来请求 cert-manager 生成它。创建一个名为
selfsigned-root-clusterissuer.yaml
的文件,内容如下:# selfsigned-root-clusterissuer.yaml apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: selfsigned-root spec: selfSigned: {}
将资源应用于集群
kubectl apply -f selfsigned-root-clusterissuer.yaml
后续步骤
为 MinIO 运算符设置 cert-manager。