文件

cert-manager

使用 cert-manager 進行 TLS 憑證管理

本指南將向您展示如何安裝 cert-manager 以進行 TLS 憑證管理。本指南假設新的或全新的 MinIO Operator 安裝。

注意

本指南使用自我簽署的 Cluster Issuer。您也可以使用 cert-manager 支援的其他發行者

主要差異在於您必須將該 Issuer CA 憑證提供給 MinIO,而不是本指南中提到的 CA。

有關更進階的設定,請參閱 cert-manager 文件和您自己組織的憑證需求。

cert-manager 管理 Kubernetes 叢集中的憑證。MinIO Operator 支援使用 cert-manager 來管理和佈建憑證,作為 MinIO Operator 管理其自身及其租戶憑證的替代方案。

cert-manager 從 IssuerClusterIssuer 取得有效憑證,並可以在到期之前自動續訂憑證。

ClusterIssuer 會為多個命名空間發行憑證。Issuer 僅為其自己的命名空間產生憑證。

下圖描繪了 cert-manager 如何在 Kubernetes 叢集的命名空間中提供憑證。

  • ClusterIssuer 存在於 Kubernetes 叢集的根層級,通常是 default 命名空間,以向所有其他命名空間提供憑證。

  • minio-operator 命名空間接收其自己的本機 Issuer

  • 每個租戶的命名空間都會收到其自己的本機 Issuer

  • 每個租戶命名空間發行的憑證必須讓 MinIO Operator 知道並信任。

A graph of the namespaces in a Kubernetes cluster showing the relationship between the root level ClusterIssuer and three other namespaces with their own Issuer.

先決條件

設定 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 是叢集中所有其他憑證衍生自的最上層發行者。

  1. 透過建立 ClusterIssuer 資源,請求 cert-manager 產生此資源。

    建立一個名為 selfsigned-root-clusterissuer.yaml 的檔案,其內容如下

    # selfsigned-root-clusterissuer.yaml
    apiVersion: cert-manager.io/v1
    kind: ClusterIssuer
    metadata:
      name: selfsigned-root
    spec:
      selfSigned: {}
    
  2. 將資源套用至叢集

    kubectl apply -f selfsigned-root-clusterissuer.yaml
    

後續步驟

設定適用於 MinIO Operator 的 cert-manager