文件

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