cert-manager
使用 cert-manager 管理 TLS 证书
本指南介绍如何安装 cert-manager 以管理 TLS 证书。 本文假设你使用的是全新或刚初始化的 MinIO Operator 安装环境。
Note
本指南使用自签名 ClusterIssuer。
你也可以使用 cert-manager 支持的其他 Issuer。
主要区别在于,你必须向 MinIO 提供该 Issuer 的 CA 证书,而不是本文中提到的这些 CA。
如需更高级的配置,请参考 cert-manager 文档 以及你所在组织的证书规范。
cert-manager 负责管理 Kubernetes 集群中的证书。 MinIO Operator 支持使用 cert-manager 来管理和签发证书,作为 Operator 自行管理自身及其租户证书的替代方案。
cert-manager 从 Issuer 或 ClusterIssuer 获取有效证书,并能在证书过期前自动续期。
ClusterIssuer 可为多个命名空间签发证书。
Issuer 只能为其所在命名空间签发证书。
下图展示了 cert-manager 如何在 Kubernetes 集群的不同命名空间中提供证书。
ClusterIssuer位于 Kubernetes 集群的根级别,通常在default命名空间中,用于向其他所有命名空间提供证书。minio-operator命名空间拥有其本地Issuer。每个租户命名空间也拥有其本地
Issuer。各租户命名空间签发的证书必须被 MinIO Operator 感知并信任。
前提条件
使用受支持版本的 Kubernetes
已安装 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
推荐使用 Release 1.12.X LTS,但你也可以安装最新版本。 有关安装 cert-manager 的更多细节,请参见其 installation instructions。
为集群创建自签名 ClusterIssuer
ClusterIssuer 是集群中的顶层 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 Operator 的 cert-manager。