可以安裝 Harbor 容器登錄作為 主管 服務,並將 Harbor 作為私人登錄執行。
必要條件
請遵循以下必要條件:
- 已啟用 vSphere 8 主管
- 自行熟悉主管服務
備註: 這些指示會透過 vSphere 8 和 NSX 4 網路進行驗證。
下載必要的 YAML 檔案
下載所需的 YAML 檔案,包括 Contour 和 Harbor。
- 從 Kubernetes 入口控制器服務網站下載以下 Contour 檔案:
- Contour 服務定義檔:contour.yml
- Contour 服務組態檔:contour-data-values.yml
- 從雲端原生登錄服務網站下載以下 Harbor 檔案:
- Harbor 服務定義檔:harbor.yml
- Harbor 服務組態檔:harbor-data-values.yml
安裝 Contour
必須先安裝 Contour,然後再安裝 Harbor。
- 按一下contour.yml 上傳至 vCenter。 ,將
- 確認已新增 Contour 服務定義。
- 選取 。
- 選取 。
- 選取可用索引標籤。
- 選取 Contour,然後按一下安裝。
- 將 contour-data-values.yml 中的內容複製/貼到「YAML 服務組態」輸入欄位。
備註: Contour 資料值可以按原樣使用,不需要進行任何組態變更。Envoy 的服務類型設定為 LoadBalancer。
- 按一下確定,繼續進行 Contour 安裝。
- 確認已安裝 Contour。
- 選取名為 svc-contour-domain-XXXX 的 vSphere 命名空間。
- 選取網路索引標籤,然後選取服務。
- 您應該會看到 ClusterIP 類型的 Contour 服務和 LoadBalancer 類型的 Envoy 服務。envoy 服務應具有外部 IP 位址。
更新 Harbor 資料值
安裝 Harbor 之前,請先更新資料值檔案。
- 使用文字編輯器,開啟 harbor-data-values.yml 檔案。
- 進行以下編輯 (最低要求,其他欄位可以選擇性地進行編輯)。
- 儲存變更。
名稱 值 hostname harbordomain.com (選擇唯一的名稱) tlsCertificate.tlsSecretLabels {"managed-by": "vmware-vRegistry"} (驗證此值,但保持原樣) persistence.persistentVolumeClaim.registry.storageClass "vwt-storage-policy" (輸入主管的 vSphere 儲存區原則的名稱) persistence.persistentVolumeClaim.jobservice.storageClass "vwt-storage-policy" (輸入主管的 vSphere 儲存區原則的名稱) persistence.persistentVolumeClaim.database.storageClass "vwt-storage-policy" (輸入主管的 vSphere 儲存區原則的名稱) persistence.persistentVolumeClaim.redis.storageClass "vwt-storage-policy" (輸入主管的 vSphere 儲存區原則的名稱) persistence.persistentVolumeClaim.trivy.storageClass "vwt-storage-policy" (輸入主管的 vSphere 儲存區原則的名稱)
安裝 Harbor
按照以下指示安裝 Harbor。
- 按一下harbor.yml 上傳至 vCenter。 ,將
- 確認已新增 Harbor 服務定義。
- 選取 。
- 選取 。
- 選取可用索引標籤。
- 選取 Harbor,然後按一下安裝。
- 將編輯後的 harbor-data-values.yml 中的內容複製/貼到「YAML 服務組態」輸入欄位。
- 按一下確定,繼續進行 Harbor 安裝。
- 確認已安裝 Harbor。
- 選取名為 svc-harbor-domain-XXXX 的 vSphere 命名空間。
- 選取網路索引標籤,然後選取服務。
- 您應該會看到為 Harbor 安裝了多個容器,每個容器是一個 ClusterIP 類型的服務。
為 Harbor 設定 DNS
您將需要登錄網域名稱並為 Harbor 設定 DNS 記錄。
- 選取 。
- 選取 Contour 命名空間。
- 選取 。
- 記錄 Envoy 入口服務的外部 IP 位址,例如 10.197.154.71。
- 登錄在 Harbor 組態中指定的 Harbor 網域名稱 (FQDN)。
- 使用 AWS Route 53 或類似服務建立 DNS「A」記錄。
登入 Harbor
設定 Harbor DNS 後,便可登入。
- 移至您為 Harbor 登錄的功能變數名稱。
- 使用 admin 和在 Harbor 組態中指定的密碼登入網域。
- 登入後,將密碼變更為更安全的密碼。
將主管設定為信任 Harbor 登錄 (可選)
當 TKG 叢集和 Harbor 部署在同一
主管 上時,TKG 叢集會自動設定為信任 Harbor
主管 服務。但是,建立
vSphere 網繭 時,
主管 不會自動設定為信任 Harbor
主管 服務。請完成以下步驟,將 configmap 更新為包含 Harbor CA 憑證資訊,以在
主管 和 Harbor 服務之間建立信任關係。
- 在 Harbor 中,移至 。
- 下載登錄根憑證,它是一個名為 ca.crt 的檔案。
- 設定 KUBE_EDITOR 環境變數。
- 使用 kubectl 登入 主管。
- 將內容切換到 主管 內容 (IP 位址)。
- 使用下列命令編輯 configmap/image-fetch-ca-bundle:
kubectl edit configmap image-fetcher-ca-bundle -n kube-system
- 複製 Harbor ca.crt 檔案的內容,並將其附加到現有憑證 (用於 主管,不得變更) 下方的 configmap。儲存對檔案所做的編輯。您應該會看到 Kubectl 報告「已編輯 configmap/image-fetcher-ca-bundle」。