建立 Harbor 專案

本文將引導開發人員和管理員使用 GDC 控制台或 gdcloud CLI,建立及驗證 Harbor 專案。

您可以將容器映像檔整理到預先設定的 tear-harbor 執行個體內,儲存、保護及發布這些映像檔。在 Harbor 中,專案是邏輯單元,可將相關構件分組、管理映像檔,以及套用特定政策、存取控管措施和複製規則。

tear 系統專案提供 tear-harbor 做為唯一可用的 Harbor 執行個體,也就是整個設備的單一預先設定登錄檔,因此您不需要為每個客戶專案佈建、升級或維護個別的 Harbor 執行個體。這種集中式架構可減少基礎架構的負擔,讓您透過一個共用登錄檔管理映像檔命名空間、存取權控管和安全漏洞掃描。如要在任何客戶專案中使用這個共用登錄檔處理工作負載,您必須在 tear 專案中建立 Harbor 角色,並直接在 tear 專案中建立 Harbor 專案。

事前準備

開始之前,請確認符合下列條件:

  • 建議具備的知識:請務必熟悉受管理 Harbor 服務總覽中涵蓋的概念和架構。瞭解 Harbor 是託管在 tear 專案中的共用資源至關重要,因為所有 Harbor 角色指派和專案建立工作都必須以 tear 專案為目標。
  • 初始化 Harbor 身分:您必須先登入 Harbor UI 至少一次,才能在主控台中建立專案。首次登入時,系統會使用 Harbor 登錄檔初始化您的身分。詳情請參閱「取得 Harbor 執行個體 URL」和「初始化 Harbor 身分」。

必要 IAM 角色

如要建立 Harbor 專案 (包括您打算在客戶專案中使用的 Harbor 專案),您必須在 tear 專案中建立並授予 Harbor 專案建立者 (harbor-project-creator) Identity and Access Management (IAM) 角色,才能存取 tear-harbor 執行個體。這個角色提供 tear 專案中 tear-harbor 執行個體內 Harbor 專案自訂資源的建立、取得和監看權限,可讓您定義新的映像檔命名空間,並為容器化應用程式建立安全界線。

如要在 tear 專案中要求存取權,請與專案 IAM 管理員聯絡。

取得 Harbor 執行個體網址

如要登入 Harbor UI 或使用 gdcloud CLI 管理映像檔,您需要登錄執行個體的外部端點網址:

  1. 使用 gdcloud CLI 取得 Harbor 執行個體網址:

    gdcloud harbor instances describe tear-harbor --project=tear
    

    輸出結果會與下列內容相似,通常包含 externalEndpoint 欄位:

    externalEndpoint: https://harbor.tear.example.com
    
  2. 複製 externalEndpoint 網址,透過瀏覽器存取 Harbor UI,並建立用戶端信任驗證。

如果無法存取 gdcloud CLI,請聯絡基礎架構營運人員 (IO) 尋求支援。

初始化 Harbor 身分

至少登入一次 Harbor UI,同步處理身分。首次登入時,系統會在 Harbor 資料庫中註冊您的使用者設定檔,以便辨識您的權限:

  1. 在瀏覽器中前往登錄網址。
  2. 使用 GDC 憑證登入。

建立 Harbor 專案

由於 tear 專案中的 tear-harbor 是唯一可用的 Harbor 執行個體,且做為整個設備的共用登錄檔,因此您必須在 tear 專案中建立所有 Harbor 專案,包括儲存其他客戶專案工作負載映像檔的 Harbor 專案。使用 GDC 控制台或 gdcloud CLI 建立 Harbor 專案。

控制台

在 GDC 控制台中,於 tear 專案中按照下列步驟操作:

  1. 選取 tear 專案。
  2. 在導覽選單的「CI/CD」部分,按一下「Harbor Container Registry」連結。
  3. 按一下「建立 Harbor 專案」。
  4. 輸入 Harbor 專案的名稱。
  5. 選用:安全漏洞掃描功能預設為啟用。如要停用 Harbor 專案的自動安全漏洞掃描功能,請按一下「為專案啟用安全漏洞掃描」切換鈕。詳情請參閱「掃描是否有安全性漏洞」。
  6. 點選「建立」。系統會顯示確認訊息,指出專案已建立。
  7. 登入 Harbor UI,確認你可以查看 Harbor 專案。

gdcloud

在 tear 專案中建立 Harbor 專案:

gdcloud harbor harbor-projects create HARBOR_PROJECT \
  --project=tear \
  --instance=tear-harbor

將 HARBOR_PROJECT 替換為要建立的 Harbor 專案名稱。