瞭解如何將 Harbor 安裝和設定為 主管服務。然後,您可以將 Harbor 用作在 Tanzu Kubernetes Grid 叢集和 vSphere 網繭 上執行的工作負載的登錄。Harbor 需要將 Contour 作為入口控制器,因此請先安裝 Contour 主管服務,然後再安裝 Harbor。
將 Harbor 安裝為主管服務
在 vSphere Client 中透過工作負載管理選項將 Harbor 安裝為主管服務。
必要條件
- 確認已升級到 vCenter Server 8.0a 或更高版本。vCenter Server 8.0a 及更高版本支援 Contour 和 Harbor 主管服務。
- 確認您在新增服務的 vCenter Server 系統上具有管理主管服務權限。
- 在要安裝 Harbor 的同一主管上將 Contour 安裝為主管服務。請參閱在 vSphere IaaS control plane 中將 Contour 安裝為主管服務。
- 指定用於存取 Harbor 管理員使用者介面的 FQDN。
程序
結果
將 Harbor FQDN 對應至網繭入口 IP 位址
成功安裝 Harbor 後,將 Harbor FQDN 與 Envoy 入口 IP 位址的對應記錄新增到設定了主管的外部 DNS 伺服器中。
Tanzu Kubernetes Grid 叢集、vSphere 網繭 和主管必須能夠解析 Harbor FQDN,才能從登錄中提取映像。
與 Harbor 主管服務 建立信任
安裝 Harbor 後,必須在 主管 之間設定信任,以將 Harbor 用作 vSphere 網繭 的登錄。與 Harbor 位於同一 主管 上的 Tanzu Kubernetes Grid 叢集已自動與 Harbor 建立信任。若要將 Harbor 用作在不同 主管 上執行的 Tanzu Kubernetes Grid 叢集的登錄,必須在 Harbor 與這些 Tanzu Kubernetes Grid 叢集之間設定信任。
在 Harbor 與 主管 之間建立信任
- 從 Harbor 使用者介面或使用 主管 控制平面上的 TLS 密碼擷取 Harbor CA。您可以在 Harbor 管理員使用者介面的 中取得 Harbor ca.cert。
- 將 Harbor CA 新增到 kube-system 命名空間中的 image-fetcher-ca-bundle ConfigMap。您必須使用 vCenter Single Sign-on 管理帳戶登入,並且有權編輯 image-fetcher-ca-bundle。
- 按照此處所述設定 KUBE_EDITOR 環境變數:
- 使用以下命令編輯 ConfigMap:
kubectl edit configmap image-fetcher-ca-bundle -n kube-system
- 將 Harbor ca.cert 檔案的內容附加到現有 主管 憑證下的 ConfigMap。務必不要變更 主管 憑證。
apiVersion: v1 data: ca-bundle: |- -----BEGIN CERTIFICATE----- MIIC/jCCAeagAwIBAgIBADANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwprdWJl ... qB72tWi8M5++h2RGcVash0P1CUZOHkpHxGdUGYv1Z97Wl89dT2OTn3iXqn8d1JAK aF8= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDKDCCAhCgAwIBAgIQBbUsj7mqXXC5XRhqqU3GiDANBgkqhkiG9w0BAQsFADAU ... 5q7y87vOLTr7+0MG4O01zK0dJYx2jVhZlsuduMYpfqRLLewVl0eGu/6vr2M= -----END CERTIFICATE----- kind: ConfigMap metadata: creationTimestamp: "2023-03-15T14:28:34Z" name: image-fetcher-ca-bundle namespace: kube-system resourceVersion: "713" uid: 6b7611a0-25fa-40f7-b4f5-e2a13bd0afe3
- 儲存對檔案所做的編輯。因此,kubectl 報告:
已編輯 configmap/image-fetcher-ca-bundle
在 Harbor 與在非 Harbor 所在的 主管 上執行的 Tanzu Kubernetes Grid 叢集之間建立信任
在未安裝 Harbor 的 主管 上執行的 Tanzu Kubernetes Grid 叢集必須與 Harbor 建立網路連線。這些 Tanzu Kubernetes Grid 叢集必須能夠解析 Harbor FQDN。
若要在 Harbor 與 Tanzu Kubernetes Grid 叢集之間建立信任,請從 Harbor 使用者介面中擷取 Harbor CA,或者在 主管 控制平面上使用 TLS 密碼,然後按照〈將 TKG 2 叢集與私人容器登錄整合〉中列出的步驟進行操作。