IBM Cloud Docs
為 Container Registry 設定 Terraform

為 Container Registry 設定 Terraform

IBM Cloud® 上的 Terraform 可對 IBM Cloud 服務進行可預測且一致的佈建,以便您可以快速建置遵循「基礎架構即程式碼 (IaC)」原則的複雜多層雲端環境。 類似於使用 IBM Cloud CLI 或 API 及 SDK,您可以使用 HashiCorp 配置語言 (HCL) 自動佈建、更新及刪除 IBM Cloud® Container Registry 實例。

您是否在 IBM Cloud 解決方案上尋找受管理 Terraform? 請試用 IBM Cloud Schematics。 使用 Schematics,您可以使用您熟悉的 Terraform Scripting 語言,但不需要擔心設定及維護 Terraform 指令行和 IBM Cloud 提供者外掛程式。Schematics 也提供預先定義的 Terraform 範本,您可以從 IBM Cloud 型錄安裝這些範本。

安裝 Terraform 並建立 Container Registry 名稱空間

開始之前,請確保您具有 必要存取權,以建立並使用 IBM Cloud Container Registry 資源。

  1. 若要安裝 Terraform CLI 並配置 IBM Cloud Provider plug-in for Terraform,請遵循 Terraform on IBM Cloud 入門指導教學。 外掛程式會摘錄用來佈建、更新或刪除 Container Registry 資源的 IBM Cloud API。

  2. 建立一個名為的 Terraform 配置文件 main.tf。 新增配置以創建Container Registry命名空間並為使用者指派 IAM 訪問策略用於授與使用者、服務 ID 及存取群組對帳戶資源之存取權的方法。 存取原則由主體、目標及角色所組成。在Cloud Identity and Access Management (IAM) 透過使用該名稱空間HashiCorp配置語言(HCL)。 如需相關資訊,請參閱 Terraform 語言文件

    下列範例會以您選擇的名稱在預設 資源群組所包含資源實例遵循的環境及限制。 使用者可以與資源群組相關聯,以啟用協同作業。 中建立名稱空間,並將映像檔保留原則附加至該名稱空間,以保留 10 個映像檔。 若要擷取預設資源群組的 ID,會使用 ibm_resource_group 資料來源。 然後,使用者 user@ibm.com 會獲指派特定地區之名稱空間的 IAM 存取原則中的「管理員」角色。 區域擷取自您在步驟 1 中建立的 terraform.tfvars 檔案。

    data "ibm_resource_group" "group" {
        name = "default"
    }
    
    resource "ibm_cr_namespace" "cr_namespace" {
        name = "<namespace_name>"
        resource_group_id = data.ibm_resource_group.group.id
    }
    
    resource "ibm_cr_retention_policy" "cr_retention_policy" {
        namespace = ibm_cr_namespace.cr_namespace.id
        images_per_repo = 10
    }
    
    resource "ibm_iam_user_policy" "policy" {
        ibm_id = "user@ibm.com"
        roles  = ["Manager"]
    
        resources {
            service = "container-registry"
            resource = ibm_cr_namespace.cr_namespace.id
            resource_type = "namespace"
            region = var.region
        }
    }
    

    不支援使用 Terraform 來更新名稱空間。 您只能使用 Terraform 來建立及移除名稱空間。

  3. 起始設定 Terraform CLI。

    terraform init
    
  4. 建立 Terraform 執行計劃。 Terraform 執行計劃彙總需要執行以在帳戶中建立 Container Registry 名稱空間及 IAM 存取原則的所有動作。

    terraform plan
    
  5. 在 IBM Cloud中建立 Container Registry 名稱空間及 IAM 存取原則。

    terraform apply
    
  6. Container Registry 名稱空間概觀頁面中,驗證已順利建立名稱空間。

  7. 驗證已順利指派 IAM 存取原則。 如需相關資訊,請參閱 在主控台中檢閱指派的存取權

下一步

既然您已順利在 IBM Cloud上使用 Terraform 建立第一個 Container Registry 名稱空間,您可以選擇下列作業: