設定 VM 以安裝 RPM 套件

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

事前準備

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

準備 VM 以存取 Yum 存放區

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

私人存放區

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

    • 如果是 Compute Engine VM,這可能是預設服務帳戶。如果 VM 使用服務帳戶,Artifact Registry 會自動擷取 Compute Engine VM 服務帳戶憑證。
    • 如果是其他 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 值的範例包括 el7el8
    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 存放區,請使用 yumdnf 用戶端工具:

  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,更新存放區來源。

後續步驟