設定 VM 以安裝 RPM 套件

本頁說明如何設定 VM,從 Artifact Registry Yum 存放區安裝 RPM 套件。Artifact Registry Yum 存放區支援 yum 和 dnf 用戶端。

事前準備

如果目標 Yum 存放區不存在,請建立新的存放區。您可以建立私有存放區,或是不需要驗證的公開存放區。

準備 VM 以存取 Yum 存放區

如要準備 VM 來存取 Yum 存放區,請使用 yum 或 dnf 用戶端工具:

私人存放區

  1. 選擇要用來授予存取權的服務帳戶。

    • 如果是 Compute Engine VM,這可能是預設服務帳戶。如果 VM 使用服務帳戶,Artifact Registry 會自動擷取該 VM 的 Compute Engine 服務帳戶憑證。
    • 如果是其他 VM,請建立或選擇服務帳戶,代表 VM 執行作業。您需要服務帳戶金鑰檔案的位置,才能設定 VM。您可以在「服務帳戶」頁面中,查看及建立現有帳戶的金鑰。
  2. 將存放區存取權授予服務帳戶。

  3. 準備 VM 以存取存放區。

    Compute Engine VM

    1. 將 cloud-platform API 存取權範圍 指派給 VM。如要瞭解如何設定存取範圍,請參閱「變更執行個體的服務帳戶與存取範圍」。

    2. 使用下列指令更新套件快取:

      sudo yum makecache
      
    3. 在 VM 上安裝 Artifact Registry 外掛程式,請使用下列指令:

      sudo yum install FORMAT-plugin-artifact-registry
      

      更改下列內容:

      • FORMAT,並符合下列其中一項條件:
        • yum,如果您的作業系統是 Enterprise Linux 7 或更早版本
        • dnf (如果作業系統是 Enterprise Linux 8 以上版本)

    其他 VM

    1. 使用下列指令安裝 RPM 簽署金鑰:

      sudo rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      
    2. 建立名為 /etc/yum.repos.d/artifact-registry-plugin.repo 的檔案,並在當中加入下列內容:

      [ar-plugin]
      name=Artifact Registry Plugin
      baseurl=https://packages.cloud.google.com/yum/repos/FORMAT-plugin-artifact-registry-DISTRO-stable
      enabled=1
      gpgcheck=1
      

      更改下列內容:

      • FORMAT,並符合下列其中一項條件:
        • yum,如果您的作業系統是 Enterprise Linux 7 或更早版本
        • dnf (如果作業系統是 Enterprise Linux 8 以上版本)
      • DISTRO,其中 X 是發布版本。elX有效 DISTRO 值範例:el7 和 el8。
    3. 使用下列指令更新 Yum:

      sudo yum makecache
      
    4. 在 VM 上安裝 Artifact Registry 外掛程式,請使用下列指令:

      yum install FORMAT-plugin-artifact-registry
      

      將 FORMAT 替換為下列其中一個值:

      • yum,如果您的作業系統是 Enterprise Linux 7 或更早版本
      • dnf (如果作業系統是 Enterprise Linux 8 以上版本)
    5. 在 artifact-registry.conf 檔案中找到 #service_account_json = "/path/to/creds.json" 行,然後取消註解該行,並新增服務帳戶金鑰的路徑。

      • 如果是 Enterprise Linux 7 或更早版本的作業系統,設定檔路徑為 /etc/yum/pluginconf.d/artifact-registry.conf。
      • 如果是 Enterprise Linux 8 以上版本的作業系統,設定檔路徑為 /etc/dnf/plugins/artifact-registry.conf。

      設定檔項目:

      service_account_json = "PATH_TO_SERVICE_ACCOUNT_KEY"
      

      將 PATH_TO_SERVICE_ACCOUNT_KEY 替換為服務帳戶金鑰 JSON 檔案的路徑。

公開存放區

設定存放區的公開存取權。

設定 VM 來存取標準 Yum 存放區

如要設定 VM 存取 Yum 存放區,請使用 yum 或 dnf 用戶端工具:

  1. 執行 gcloud beta artifacts print-settings yum 指令,產生 VM 設定指令:

    gcloud beta artifacts print-settings yum \
        --repository=REPOSITORY \
        --location=LOCATION
    

    更改下列內容:

    • REPOSITORY 是 Artifact Registry 存放區的名稱。
    • LOCATION 是存放區的區域位置。

    輸出結果會與下列內容相似:

    # To configure your package manager with this repository:
    
    # Update Yum:
    sudo yum makecache
    
    # Install the Yum credential helper:
    sudo yum install yum-plugin-artifact-registry
    
    # Configure your VM to access Artifact Registry packages using the following
    # command:
    
    sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL
    [REPOSITORY]
    name=REPOSITORY
    baseurl=https://LOCATION-yum.s3nsregistry.fr/projects/PROJECT/REPOSITORY
    enabled=1
    repo_gpgcheck=0
    gpgcheck=0
    EOL
    
    # Update Yum:
    sudo yum makecache
    
  2. 使用 print-settings 指令的輸出內容,透過 tee 指令將 yum 用戶端工具設為從存放區擷取套件。

    舉例來說,如要從專案 my-project 中位置 u-france-east1 的公開 my-repo 安裝套件,請使用下列指令:

    sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL
    [my-repo]
    name=My Repository
    baseurl=https://u-france-east1-yum.s3nsregistry.fr/projects/my-project/my-repo
    enabled=1
    repo_gpgcheck=0
    gpgcheck=0
    EOL
    
  3. 使用下列指令更新存放區來源:

    sudo yum makecache
    

Yum 現在可以連線至存放區。

如果您建立其他 Yum 存放區,請在 /etc/yum.repos.d/ 中為每個存放區建立 .repo 檔案。重新執行 sudo yum update,更新存放區來源。

後續步驟