安裝 cert-manager 以用於憑證管理

本主題說明如何在 Tanzu Kubernetes Grid 中將 cert-manager 安裝到工作負載叢集。cert-manager 會自動安裝在獨立管理叢集中。

本主題適用於在 vSphere、Amazon Web Services (AWS) 和 Azure 上執行的工作負載叢集。

準備工作負載叢集以安裝 cert-manager

若要準備叢集,請執行下列動作:

  1. 針對要在其中部署 cert-manager 的工作負載叢集,取得其管理員認證。例如:

    tanzu cluster kubeconfig get my-cluster --admin
    
  2. 將 kubectl 的內容設定為叢集。例如:

    kubectl config use-context my-cluster-admin@my-cluster
    

安裝 cert-manager

若要安裝 cert-manager:

  1. 如果要將 cert-manager 安裝到單節點叢集,如 vSphere 上的單節點叢集 (技術預覽) 中所述,請修補 cert-manager 套件註解,以防止在單節點叢集上安裝為核心套件的 cert-manager 與 Tanzu standard 存放庫中的 cert-manager 之間發生衝突:

    kubectl annotate --overwrite package cert-manager.tanzu.vmware.com.1.10.1+vmware.1-tkg.1 tkg.tanzu.vmware.com/package-repo='standard'
    
  2. 如果叢集尚未安裝 standard 套件存放庫,請安裝它:

    tanzu package repository add tanzu-standard --url PACKAGE-REPOSITORY-ENDPOINT --namespace tkg-system
    

    其中,PACKAGE-REPOSITORY-ENDPOINTstandard 套件存放庫的 URL。對於此版本,URL 為 projects.registry.vmware.com/tkg/packages/standard/repo:v2.1.1

    若要從 Tanzu CLI 取得此值,請參閱列出套件存放庫,或在 Tanzu Mission Control 中查看叢集 (Cluster) 窗格中的附加元件 (Addons) > 存放庫 (Repositories) 清單。

  3. 確認 cert-manager 套件在工作負載叢集中可用:

    tanzu package available list -A
    
  4. 擷取可用套件的版本:

    tanzu package available list cert-manager.tanzu.vmware.com -A
    
  5. 安裝 cert-manager 套件:

    tanzu package install cert-manager --package cert-manager.tanzu.vmware.com --namespace TARGET-NAMESPACE --version AVAILABLE-PACKAGE-VERSION
    

    其中:

    • TARGET-NAMESPACE 是要在其中安裝 cert-manager 套件的命名空間。例如,my-packagestanzu-cli-managed-packages 命名空間。

      • 如果未指定 --namespace 旗標,則 Tanzu CLI 會在 default 命名空間中安裝套件。
      • 指定的命名空間必須已存在,例如,從執行 kubectl create namespace my-packages
    • AVAILABLE-PACKAGE-VERSION 是上面擷取到的版本。

    例如:

    tanzu package install cert-manager --package cert-manager.tanzu.vmware.com --namespace my-packages --version 1.7.2+vmware.1-tkg.1
    
  6. 確認已安裝 cert-manager 套件:

    tanzu package installed list -A
    

    cert-manager 套件和 cert-manager 應用程式安裝在執行 tanzu package install 命令時指定的命名空間中。

  7. 確認 cert-manager 應用程式已在 TARGET-NAMESPACE 中成功協調。例如:

    kubectl get apps -A
    NAMESPACE     NAME             DESCRIPTION           SINCE-DEPLOY   AGE
    my-packages   cert-manager     Reconcile succeeded   3m2s           3m12s
    ...
    

    如果狀態不是 Reconcile Succeeded,請檢視 cert-manager 應用程式的完整狀態詳細資料。檢視完整狀態可協助您對問題進行疑難排解。

    kubectl get app cert-manager --namespace TARGET-NAMESPACE -o yaml
    

    其中,TARGET-NAMESPACE 是安裝套件的命名空間。如果疑難排解無法協助您解決問題,則必須先解除安裝套件,然後再重新安裝:

    tanzu package installed delete cert-manager --namespace TARGET-NAMESPACE
    
  8. 確認 cert-manager- 網繭正在執行:

    kubectl get pods -A
    

    cert-manager 網繭及與 cert-manager 元件相關聯的任何其他資源都會建立在 cert-manager 命名空間中。

check-circle-line exclamation-circle-line close-line
Scroll to top icon