文件

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