在 vSphere 上部署離線 Harbor 登錄

本主題說明如何從下載的 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 以進行容器簽署和驗證。

必要條件

部署 Harbor

若要從 OVA 檔案部署 Harbor,請執行以下動作:

  1. 在 vCenter 中,在 vSphere 叢集上按一下滑鼠右鍵,然後選擇部署 OVF 範本 (Deploy OVF Template)…

    Harbor 安裝螢幕擷取畫面

  2. 會顯示部署 OVF 範本 (Deploy OVF Template) 視窗。選取本機檔案 (Local File),然後瀏覽至已下載的 Harbor OVA 檔案的位置。

  3. 按一下右下角的下一步 (NEXT)。會顯示一系列組態窗格。

  4. 來源驗證 (Source Verification):按一下是 (YES)

    Harbor 安裝螢幕擷取畫面

  5. 虛擬機器名稱 (Virtual machine name):輸入您選給執行 Harbor 執行個體的虛擬機器名稱。按下一步 (NEXT)

    Harbor 安裝螢幕擷取畫面

  6. 選取計算資源 (Select a compute resource):保留預設選擇,然後按下一步 (NEXT)

    Harbor 安裝螢幕擷取畫面

    此步驟可能需要幾分鐘,因為 vSphere 會下載並呈現 OVF 範本。

  7. 檢閱詳細資料 (Review details):按下一步 (NEXT)

    Harbor 安裝螢幕擷取畫面

  8. 授權合約 (License agreements):請接受授權,然後按下一步 (NEXT)

    Harbor 安裝螢幕擷取畫面

  9. 選取儲存區 (Select storage):選取 vsanDatastore,然後按下一步 (NEXT)

    Harbor 安裝螢幕擷取畫面

  10. 選取網路 (Select networks):選擇預設虛擬機器網路 (VM Network),然後按下一步 (NEXT)

    Harbor 安裝螢幕擷取畫面

  11. 自訂範本 (Customize template) > VM 認證 (VM Credentials)

    Harbor 安裝螢幕擷取畫面

    1. Root 密碼 (Root Password) (必要):虛擬機器上 root 使用者帳戶的慣用密碼,長度必須為 8-128 個字元。

    2. 允許透過 Root 進行 SSH (Allow SSH via Root):保留預設值 (亦即,啟用),以允許以 root 使用者身分透過 ssh 存取虛擬機器。

  12. 自訂範本 (Customize template) > Harbor 組態 (Harbor Configurations)

    Harbor 安裝螢幕擷取畫面

    1. 主機名稱 (Hostname) (選用):若有提供,則 Harbor 主機名稱為 FQDN,例如 yourdomain.com。不能是 IP 位址或 localhost

      如果指定主機名稱 (Hostname),SAN (主體別名) 內容只會包含 DNS 資訊,不會提供 IP 資訊。

      如果您未指定主機名稱 (Hostname),則 SAN 內容只會包含 IP 資訊,不會提供 DNS 資訊。

    2. 管理員密碼 (Administrator Password) (必要):Harbor admin 使用者的密碼。供管理員用來存取 Harbor UI,以及供用戶端容器用來提取及推送映像。長度必須是 8 至 128 個字元。

    3. Harbor 資料庫密碼 (Harbor Database Password):Harbor 內部資料庫的密碼。若有提供,長度必須是 8 到 128 個字元。

    4. 啟用 Harbor 預設掃描器 (Enable Harbor Default Scanner):啟用此選項時,會安裝 Trivy 掃描器並加以啟用,以在將映像上傳至 Harbor 時加以掃描。

    5. 對 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),貼上多行檔案內容。將它們貼到表單時,多行值將轉換為單行字串,並以空格字元作為分隔符號。

  13. 自訂範本 (Customize template) > 網路組態 (Networking Configurations)

    Harbor 安裝螢幕擷取畫面

    1. IP 位址 (IP Address)網路遮罩 (Netmask)閘道 (Gateway)eth0 的靜態 IP 位址、網路遮罩和閘道 (若有的話)。

    2. DNSDNS 網域 (DNS Domain):Harbor 虛擬機器的 DNS 伺服器和網域。

  14. 即將完成 (Ready to complete):檢閱組態,然後按一下完成 (FINISH)

    Harbor 安裝螢幕擷取畫面

監看及偵錯部署

第一次部署 Harbor OVA 時,Harbor 需要幾分鐘才能載入 Docker 映像。

若要監看該程序,並確認它正在進行中,請透過 ssh 登入虛擬機器,並執行:

watch docker ps

如果大約 5 分鐘過後 Harbor 仍不在執行中,請擷取虛擬機器上的記錄檔,以進行偵錯:

  1. cd /etc/goharbor/harbor && ./harbor-support.sh --include-private

  2. 尋找並解壓縮記錄檔。其名稱類似於 /storage/log/harbor_appliance_logs_2022-11-30T09-39-12Z.tar.gz

疑難排解

錯誤:無法擷取資訊清單或憑證檔案

  1. 如果您看到 Error: Unable to retrieve manifest or certificate file (如下所示),請再次嘗試部署 Harbor OVA。

    Harbor 安裝螢幕擷取畫面

重設 Root 密碼

若您遺失 root 密碼,請依照重設遺失的 Root 密碼程序進行復原。

展開資料磁碟

從 OVA 部署的 Harbor 執行個體具有兩個磁碟:

  • 資料磁碟:包含 Harbor 應用程式資料和憑證檔案;掛接為 /storage
  • 系統磁碟:包含虛擬機器系統資料和 Harbor 啟動載入映像,並執行啟動載入映像。

若您需要增加 Harbor 的資料磁碟大小以容納要求,則必須在變更設定時,暫時關閉 Harbor 虛擬機器的電源。如果虛擬機器具有動態 IP 位址,則重新啟動虛擬機器需要執行如下所述的其他步驟。

若要展開 Harbor 執行個體的資料磁碟,請執行以下操作:

  1. 從 vSphere 主機和叢集 (Hosts and Clusters) 視圖中,以滑鼠右鍵按一下 Harbor OVA 虛擬機器,然後選擇電源 (Power) > 關閉電源 (Power Off)

    Harbor 安裝螢幕擷取畫面

  2. 再次以滑鼠右鍵按一下 Harbor OVA 虛擬機器,然後選擇編輯設定 (Edit Settings)

    Harbor 安裝螢幕擷取畫面

  3. 此時會出現編輯設定 (Edit Settings) 視窗。在虛擬硬體 (Virtual Hardware) 下,將硬碟 2 (Hard disk 2) 設定增加到您慣用的容量。按一下確定 (OK)

    Harbor 安裝螢幕擷取畫面

  4. 再次以滑鼠右鍵按一下 Harbor OVA 虛擬機器,然後選擇電源 (Power) > 開啟電源 (Power On) 以重新啟動虛擬機器。

    Harbor 安裝螢幕擷取畫面

  5. 由於您已重新啟動 Harbor 虛擬機器,您可能需要根據虛擬機器的主機位址組態執行其他步驟:

  6. 靜態 IP 位址:無其他步驟。

  7. 動態 IP 位址:如果 Harbor 虛擬機器的 IP 位址已變更:

    1. 依照 Harbor 存放庫中的如何將現有的已過期 Harbor CA 憑證更換為新的憑證執行緒中所述,為新的 IP 位址產生憑證。
    2. 將新憑證套用至虛擬機器,如以下的輪換憑證中所述。
  8. FQDN:如果 Harbor 虛擬機器的 IP 位址已變更,請在虛擬機器的 /etc/hosts 檔案或 DNS 記錄中更新其位址。

輪換憑證

Harbor 虛擬機器的 IP 地址變更時,請輪換其憑證:

  1. 透過 ssh 登入虛擬機器。

  2. 停止 Harbor 服務:

    systemctl stop harbor
    
  3. 透過移動或重命名舊憑證的 server.crtserver.keyca.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
  4. 將新憑證的 server.crtserver.keyca.crt 儲存到上述位置,並將其檔案擁有權和權限設定為與舊檔相同的設定。

  5. 啟動 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 中所述。

check-circle-line exclamation-circle-line close-line
Scroll to top icon