本主題說明如何在 Tanzu Kubernetes Grid 中將 cert-manager 安裝到工作負載叢集。cert-manager 會自動安裝在獨立管理叢集中。
本主題適用於在 vSphere、Amazon Web Services (AWS) 和 Azure 上執行的工作負載叢集。
若要準備叢集,請執行下列動作:
針對要在其中部署 cert-manager 的工作負載叢集,取得其管理員認證。例如:
tanzu cluster kubeconfig get my-cluster --admin
將 kubectl 的內容設定為叢集。例如:
kubectl config use-context my-cluster-admin@my-cluster
若要安裝 cert-manager:
如果要將 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'
如果叢集尚未安裝 standard
套件存放庫,請安裝它:
tanzu package repository add tanzu-standard --url PACKAGE-REPOSITORY-ENDPOINT --namespace tkg-system
其中,PACKAGE-REPOSITORY-ENDPOINT
是 standard
套件存放庫的 URL。對於此版本,URL 為 projects.registry.vmware.com/tkg/packages/standard/repo:v2.1.1
。
若要從 Tanzu CLI 取得此值,請參閱列出套件存放庫,或在 Tanzu Mission Control 中查看叢集 (Cluster) 窗格中的附加元件 (Addons) > 存放庫 (Repositories) 清單。
確認 cert-manager
套件在工作負載叢集中可用:
tanzu package available list -A
擷取可用套件的版本:
tanzu package available list cert-manager.tanzu.vmware.com -A
安裝 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-packages
或 tanzu-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
確認已安裝 cert-manager
套件:
tanzu package installed list -A
cert-manager
套件和 cert-manager
應用程式安裝在執行 tanzu package install
命令時指定的命名空間中。
確認 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
確認 cert-manager-
網繭正在執行:
kubectl get pods -A
cert-manager 網繭及與 cert-manager 元件相關聯的任何其他資源都會建立在 cert-manager
命名空間中。