RPM 패키지를 설치하도록 VM 구성

이 페이지에서는 Artifact Registry Yum 저장소에서 RPM 패키지를 설치하도록 VM을 구성하는 방법을 설명합니다. Artifact Registry Yum 저장소는 yumdnf 클라이언트를 지원합니다.

시작하기 전에

대상 Yum 저장소가 없으면 새 저장소를 만듭니다. 비공개 저장소 또는 인증이 필요 없는 공개 저장소를 만들 수 있습니다.

Yum 저장소에 액세스하도록 VM 준비

VM이 Yum 저장소에 액세스하도록 준비하려면 yum 또는 dnf 클라이언트 도구를 사용합니다.

비공개 저장소

  1. 액세스 권한을 부여하는 데 사용할 서비스 계정을 선택합니다.

    • Compute Engine VM의 경우 기본 서비스 계정일 수 있습니다. Artifact Registry는 서비스 계정을 사용하여 모든 VM의 Compute Engine VM 서비스 계정 사용자 인증 정보를 자동으로 가져옵니다.
    • 기타 VM의 경우 VM 대신 사용할 서비스 계정을 만들거나 선택합니다. VM을 구성하려면 서비스 계정 키 파일의 위치가 필요합니다. 서비스 계정 페이지에서 기존 계정의 키를 보고 만들 수 있습니다.
  2. 서비스 계정에 저장소 액세스 권한을 부여합니다.

  3. VM이 저장소에 액세스할 수 있도록 준비합니다.

    Compute Engine VM

    1. VM에 cloud-platform API 액세스 범위를 할당합니다. 액세스 범위 설정에 대한 자세한 내용은 인스턴스의 서비스 계정 및 액세스 범위 변경을 참조하세요.

    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 이상인 경우)
      • elX 형식의 Red Hat Enterprise Linux 주 출시 버전 DISTRO. 여기서 X은 출시 버전입니다. 유효한 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 파일 경로로 바꾸세요.

공개 저장소

저장소에 대한 공개 액세스를 구성합니다.

표준 Yum 저장소에 액세스하도록 VM 구성

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를 다시 실행하여 저장소 소스를 업데이트합니다.

다음 단계