本主題說明如何從下載的 OVA 檔案安裝私人 Harbor 映像登錄,以提供在離線 vSphere 環境中部署 Tanzu Kubernetes Grid (TKG) 時所需的映像。此 Harbor 登錄與 TKG 一起執行,並且與 TKG 分開執行,以儲存和管理 TKG 使用的元件映像。
這種基於虛擬機器的 Harbor 部署僅支援在網際網路受限或氣隙環境中託管 TKG 系統映射。要部署可擴展且高度可用的 Harbor 以在生產環境中管理託管應用的大量映像,請將 Harbor 軟體套件部署到 TKG 叢集,如《使用 Tanzu CLI 來建立和管理 TKG 2.1 工作負載叢集》中的安裝 Harbor 以用於服務登錄中所述。
附註如 Harbor v2.6.0 版本資訊中所述,Notary 和 Chartmuseum 已在 Harbor v2.6 中被取代,並計劃在未來的版本中移除。使用者應切換到 Sigstore Cosign 以進行容器簽署和驗證。
ca.crt
、server.crt
和 server.key
檔案若要從 OVA 檔案部署 Harbor,請執行以下動作:
在 vCenter 中,在 vSphere 叢集上按一下滑鼠右鍵,然後選擇部署 OVF 範本 (Deploy OVF Template)…。
會顯示部署 OVF 範本 (Deploy OVF Template) 視窗。選取本機檔案 (Local File),然後瀏覽至已下載的 Harbor OVA 檔案的位置。
按一下右下角的下一步 (NEXT)。會顯示一系列組態窗格。
來源驗證 (Source Verification):按一下是 (YES)。
虛擬機器名稱 (Virtual machine name):輸入您選給執行 Harbor 執行個體的虛擬機器名稱。按下一步 (NEXT)。
選取計算資源 (Select a compute resource):保留預設選擇,然後按下一步 (NEXT)。
此步驟可能需要幾分鐘,因為 vSphere 會下載並呈現 OVF 範本。
檢閱詳細資料 (Review details):按下一步 (NEXT)。
授權合約 (License agreements):請接受授權,然後按下一步 (NEXT)。
選取儲存區 (Select storage):選取 vsanDatastore,然後按下一步 (NEXT)。
選取網路 (Select networks):選擇預設虛擬機器網路 (VM Network),然後按下一步 (NEXT)。
自訂範本 (Customize template) > VM 認證 (VM Credentials):
Root 密碼 (Root Password) (必要):虛擬機器上 root
使用者帳戶的慣用密碼,長度必須為 8-128 個字元。
允許透過 Root 進行 SSH (Allow SSH via Root):保留預設值 (亦即,啟用),以允許以 root
使用者身分透過 ssh
存取虛擬機器。
自訂範本 (Customize template) > Harbor 組態 (Harbor Configurations):
主機名稱 (Hostname) (選用):若有提供,則 Harbor 主機名稱為 FQDN,例如 yourdomain.com
。不能是 IP 位址或 localhost
。
如果指定主機名稱 (Hostname),SAN (主體別名) 內容只會包含 DNS 資訊,不會提供 IP 資訊。
如果您未指定主機名稱 (Hostname),則 SAN 內容只會包含 IP 資訊,不會提供 DNS 資訊。
管理員密碼 (Administrator Password) (必要):Harbor admin
使用者的密碼。供管理員用來存取 Harbor UI,以及供用戶端容器用來提取及推送映像。長度必須是 8 至 128 個字元。
Harbor 資料庫密碼 (Harbor Database Password):Harbor 內部資料庫的密碼。若有提供,長度必須是 8 到 128 個字元。
啟用 Harbor 預設掃描器 (Enable Harbor Default Scanner):啟用此選項時,會安裝 Trivy 掃描器並加以啟用,以在將映像上傳至 Harbor 時加以掃描。
對 Harbor 使用自我簽署憑證 (Use Self-signed Certificate For Harbor):
啟用此選項時,會使用自我簽署憑證,並將 CA 憑證 (CA Certificate)、伺服器憑證 (Server Certificate) 和伺服器金鑰 (Server Key) 保留空白。
否則,請停用對 Harbor 使用自我簽署憑證 (Use Self-signed Certificate For Harbor),並針對 CA 憑證 (CA Certificate)、伺服器憑證 (Server Certificate) 和伺服器金鑰 (Server Key),貼上多行檔案內容。將它們貼到表單時,多行值將轉換為單行字串,並以空格字元作為分隔符號。
自訂範本 (Customize template) > 網路組態 (Networking Configurations):
IP 位址 (IP Address)、網路遮罩 (Netmask) 和閘道 (Gateway):eth0
的靜態 IP 位址、網路遮罩和閘道 (若有的話)。
DNS、DNS 網域 (DNS Domain):Harbor 虛擬機器的 DNS 伺服器和網域。
即將完成 (Ready to complete):檢閱組態,然後按一下完成 (FINISH)。
第一次部署 Harbor OVA 時,Harbor 需要幾分鐘才能載入 Docker 映像。
若要監看該程序,並確認它正在進行中,請透過 ssh
登入虛擬機器,並執行:
watch docker ps
如果大約 5 分鐘過後 Harbor 仍不在執行中,請擷取虛擬機器上的記錄檔,以進行偵錯:
cd /etc/goharbor/harbor && ./harbor-support.sh --include-private
尋找並解壓縮記錄檔。其名稱類似於 /storage/log/harbor_appliance_logs_2022-11-30T09-39-12Z.tar.gz
如果您看到 Error: Unable to retrieve manifest or certificate file
(如下所示),請再次嘗試部署 Harbor OVA。
您無法在網際網路受限的環境中,將 Harbor 的 Proxy 快取功能用於執行 Tanzu Kubernetes Grid v2.2。您仍然可以使用 Harbor Proxy 快取來代理 Tanzu Kubernetes Grid 之前版本中的映像,以及應用程式映像等非 Tanzu 映像。
若您遺失 root
密碼,請依照重設遺失的 Root 密碼程序進行復原。
從 OVA 部署的 Harbor 執行個體具有兩個磁碟:
/storage
。若您需要增加 Harbor 的資料磁碟大小以容納要求,則必須在變更設定時,暫時關閉 Harbor 虛擬機器的電源。如果虛擬機器具有動態 IP 位址,則重新啟動虛擬機器需要執行如下所述的其他步驟。
若要展開 Harbor 執行個體的資料磁碟,請執行以下操作:
從 vSphere 主機和叢集 (Hosts and Clusters) 視圖中,以滑鼠右鍵按一下 Harbor OVA 虛擬機器,然後選擇電源 (Power) > 關閉電源 (Power Off):
再次以滑鼠右鍵按一下 Harbor OVA 虛擬機器,然後選擇編輯設定 (Edit Settings):
此時會出現編輯設定 (Edit Settings) 視窗。在虛擬硬體 (Virtual Hardware) 下,將硬碟 2 (Hard disk 2) 設定增加到您慣用的容量。按一下確定 (OK)。
再次以滑鼠右鍵按一下 Harbor OVA 虛擬機器,然後選擇電源 (Power) > 開啟電源 (Power On) 以重新啟動虛擬機器。
由於您已重新啟動 Harbor 虛擬機器,您可能需要根據虛擬機器的主機位址組態執行其他步驟:
靜態 IP 位址:無其他步驟。
動態 IP 位址:如果 Harbor 虛擬機器的 IP 位址已變更:
FQDN:如果 Harbor 虛擬機器的 IP 位址已變更,請在虛擬機器的 /etc/hosts
檔案或 DNS 記錄中更新其位址。
Harbor 虛擬機器的 IP 地址變更時,請輪換其憑證:
透過 ssh
登入虛擬機器。
停止 Harbor 服務:
systemctl stop harbor
透過移動或重命名舊憑證的 server.crt
、server.key
、ca.crt
檔,對其進行備份:
server.crt
位於 /storage/data/secret/cert/server.crt
中server.key
位於 /storage/data/secret/cert/server.key
中ca.crt
位於 /storage/data/ca_download/ca.crt
中將新憑證的 server.crt
、server.key
、ca.crt
儲存到上述位置,並將其檔案擁有權和權限設定為與舊檔相同的設定。
啟動 Harbor 服務:
systemctl start harbor
當您使用此 Harbor 登錄,將管理叢集部署在網際網路受限的環境中後,即可透過以下兩種方式之一,讓 TKG 工作負載叢集能夠使用 Harbor:
使用外部 Harbor 登錄。如果此登錄使用受信任的 CA 憑證,則工作負載叢集與登錄之間的連線是安全的。如果您的中央登錄使用自我簽署憑證,則可以停用 TKG_CUSTOM_IMAGE_REPOSITORY_SKIP_TLS_VERIFY
,並指定 TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE
選項。如果設定此選項,會自動將自我簽署憑證注入至您的工作負載叢集。
將第二個 Harbor 執行個體部署為 TKG 內的共用服務。VMware 建議將 Harbor 套件部署為受 TKG 管理的共用服務。如需詳細資訊,請參見安裝 Harbor 以用於服務登錄。
在具有負載平衡的基礎結構上,VMware 建議將外部 DNS 封裝服務與 Harbor 服務一起安裝,如 Harbor 登錄和外部 DNS 中所述。