請參閱此範例,使用一或多個其他受信任的 CA 叢集佈建 v1beta1 叢集。
v1beta1 範例:具有其他受信任的 CA 憑證的叢集
叢集 v1beta1 API 提供了
trust 變數,用於為叢集佈建一或多個其他受信任的 CA 憑證。
欄位 | 說明 |
---|---|
trust |
區段標記。不接受任何資料。 |
additionalTrustedCAs |
區段標記。包括憑證陣列 (每個憑證都具有 name )。 |
name |
Kubernetes 密碼中 data 對應欄位的使用者定義名稱 ,該密碼包含採用雙 base64 編碼之 PEM 格式的 CA 憑證。
備註: 需要雙重 base64 編碼。如果內容未採用雙 base6 編碼,則無法處理產生的 PEM 檔案。
|
以下範例示範了如何將包含 CA 憑證的 Kubernetes 密碼新增到 v1beta1 API 叢集規格中。
#cluster-with-trusted-private-reg-cert.yaml apiVersion: cluster.x-k8s.io/v1beta1 kind: Cluster metadata: name: cluster01 namespace: tkgs-cluster-ns spec: clusterNetwork: services: cidrBlocks: ["198.52.100.0/12"] pods: cidrBlocks: ["192.101.2.0/16"] serviceDomain: "cluster.local" topology: class: tanzukubernetescluster version: v1.26.5+vmware.2-fips.1-tkg.1 controlPlane: replicas: 3 workers: machineDeployments: - class: node-pool name: node-pool-01 replicas: 3 variables: - name: vmClass value: guaranteed-medium - name: storageClass value: tkgs-storage-profile - name: defaultStorageClass value: tkgs-storage-profile - name: trust value: additionalTrustedCAs: - name: additional-ca-1
以下範例示範了包含其他受信任 CA 憑證的 Kubernetes 密碼。
#additional-ca-1.yaml apiVersion: v1 data: additional-ca-1: TFMwdExTMUNSGlSzZ3Jaa...VVNVWkpRMEMwdExTMHRDZz09 kind: Secret metadata: name: cluster01-user-trusted-ca-secret namespace: tkgs-cluster-ns type: Opaque
其中:
- 密碼
data
對應的值是使用者定義的字串,為 CA 憑證的名稱 (在本範例中為additional-ca-1
),其值為採用雙 base64 編碼之 PEM 格式的 CA 憑證。 - 在
metadata
區段中,必須將密碼命名為CLUSTER-NAME-user-trusted-ca-secret
,其中 CLUSTER-NAME 是叢集的名稱。必須在叢集所在的同一 vSphere 命名空間 中建立此密碼。
對 CA 憑證的內容進行雙 base64 編碼。
- Linux:
base64 -w 0 ca.crt | base64 -w 0
- Windows:https://www.base64encode.org/。
程序:新叢集
完成以下程序,以在新的 TKGS 叢集中包含一個或多個其他受信任的 CA 憑證。
- 對 CA 憑證的內容進行雙 base64 編碼。
- 建立包含資料對應名稱 (其值為採用雙 base64 編碼之 PEM 格式的 CA 憑證) 的 Kubernetes 密碼。
- 在叢集規格中,使用資料對應的名稱填入
trust.additionalTrustedCAs
變數。 - 像平常一樣佈建叢集。
- 成功佈建叢集後,您新增的 CA 憑證將受叢集信任。
程序:現有叢集
完成以下程序,以將一或多個其他受信任的 CA 憑證新增到現有叢集。
- 對 CA 憑證的內容進行雙 base64 編碼。
- 建立包含資料對應名稱 (其值為採用雙 base64 編碼之 PEM 格式的 CA 憑證) 的 Kubernetes 密碼。
- 確認您已設定 kubectl 編輯。
- 編輯叢集規格。
kubectl edit tanzukubernetescluster/tkgs-cluster-name
- 將
trust.additionalTrustedCAs
部分新增到規格中。 - 在
additionalTrustedCAs
欄位中填入密碼中資料對應的名稱 (包含了採用雙 base64 編碼之 PEM 格式的 CA 憑證) - 在文字編輯器中儲存變更,並驗證 kubectl 是否已註冊這些變更。
kubectl edit cluster/tkgs-cluster-name cluster.run.tanzu.vmware.com/tkgs-cluster-name edited
- 為叢集啟動輪流更新時,將新增其他受信任的 CA 憑證。
驗證其他受信任的 CA 憑證
新增到叢集的其他受信任的 CA 憑證包含在叢集的 kubeconfig 檔案中。
輪替憑證
若要輪替憑證,請建立新密鑰,並使用相應的值編輯叢集規格。這樣做將觸發對叢集進行輪流更新。
備註: 系統不會監控對
CLUSTER-NAME-user-trusted-ca-secret
的變更。如果其
data
對應值發生變更,則這些變更不會反映在叢集中。您需要建立新密碼以及
name
到
trust.additionalTrustCAs
的資料對應。
對其他受信任的 CA 憑證進行疑難排解
使用案例
最常見的使用案例是新增其他受信任的 CA 以連線至容器登錄。請參閱將 TKG 服務 叢集與私人容器登錄整合。