您可以將外部容器登錄與 TKG 叢集網繭搭配使用。

私人容器登錄使用案例

容器登錄為 Kubernetes 部署提供重要功能,可做為儲存和共用容器映像的集中式存放庫。最常用的公用容器登錄是 Docker Hub。有許多私人容器登錄供應。VMware Harbor 主管 隨附的開放原始碼雲端原生私人容器登錄。

私人容器登錄組態

若要將私人登錄用於 TKG 叢集,可以使用一或多個自我簽署憑證設定 TKG 叢集,以透過 HTTPS 提供私人登錄內容。在叢集規格中,包含具有 additionalTrustedCAs 欄位配對的 trust 區段。可以定義 TKG 叢集應信任的任意數目的自我簽署憑證。此功能可讓您輕鬆定義憑證清單,並可以在需要輪替時更新這些憑證。

私人容器登錄憑證的信任欄位

將憑證項目 (PEM 編碼公用憑證的 Base64 編碼字串) 新增至 TKG 叢集規格中的 additionalTrustedCAs 區段。

表 1. 私人登錄的信任欄位
欄位 說明
trust 區段標記。不接受任何資料。
additionalTrustedCAs 區段標記。包括具有名稱和資料的憑證陣列。
name TLS 憑證的名稱。
data 以純文字形式儲存的 PEM 編碼公用憑證的雙重 Base64 編碼字串。
備註: 需要雙重 base64 編碼。如果資料對應值的內容沒有使用雙重 base6 編碼,則無法處理產生的 PEM 檔案。

v1alpha3 API 範例

下列範例示範了如何建立具有私人登錄憑證的 TKG 2 叢集。如需完整規格,請參閱 v1alpha3 範例:具有自訂網路的 TKC
備註: 若要編輯現有叢集並新增私人登錄憑證欄位,請按如下所述使用 kubectl edit 方法: 為 Kubectl 設定文字編輯器
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: TanzuKubernetesCluster
metadata:
  name: tkg2-private-registry
  namespace: tkg2-cluster-ns
spec:
  topology:
    controlPlane:
      ...
    nodePools:
    - name: worker
      ...
  settings:
    network:
      ...
      trust:
        additionalTrustedCAs:
          - name: CompanyInternalCA-1
            data: LS0tLS1C...LS0tCg==
          - name: CompanyInternalCA-2
            data: MTLtMT1C...MT0tPg==

v1beta1 API 範例

下列範例示範了如何使用 v1Beta1 API 使用私人登錄憑證建立 TKG 叢集。請參閱 叢集 v1beta1 API規格中的 trust 變數說明。
備註: 若要編輯現有叢集並新增私人登錄憑證欄位,請按如下所述使用 kubectl edit 方法: 為 Kubectl 設定文字編輯器
spec:
  clusterNetwork:
    pods:
      ...
    serviceDomain: 
    services:
      ...
  topology:
    class: tanzukubernetescluster
    controlPlane:
      ...
    variables:
    - name: storageClass
      value: tkg2-storage-profile
    - name: trust
      value:
        additionalTrustedCAs:
        - name: additional-ca-1

管理私人容器登錄憑證

若要輪流使用憑證,VI 管理員或 DevOps 工程師會變更 TKG 叢集規格中憑證的內容,並套用該組態來觸發該叢集的輪流更新。

若要從憑證清單中移除憑證,請將其刪除並套用更新的規格,從而觸發輪流更新。