VMs für die Installation von RPM-Paketen konfigurieren

Mit Artifact Registry-Yum-Repositories können Sie steuern, welche RPM-Paketversionen auf Ihren virtuellen Maschinen (VMs) installiert werden. Sie können Compute Engine-Instanzen oder externe VMs so konfigurieren, dass Pakete mit den Paketmanagern Yum oder DNF aus privaten oder öffentlichen Repositories abgerufen werden.

Hinweis

Wenn das Yum-Ziel-Repository nicht vorhanden ist, erstellen Sie ein neues Repository. Sie können ein privates Repository oder ein öffentliches Repository erstellen, für das keine Authentifizierung erforderlich ist.

VM für den Zugriff auf ein Yum-Repository vorbereiten

Verwenden Sie das Clienttool yum oder dnf, um eine VM für den Zugriff auf ein Yum-Repository vorzubereiten:

Privates Repository

  1. Wählen Sie das Dienstkonto aus, mit dem Sie Zugriff gewähren möchten.

    • Bei Compute Engine-VMs kann dies das Standarddienstkonto sein. Artifact Registry ruft automatisch die Anmeldedaten des Compute Engine-VM-Dienstkontos für jede VM ab, die ein Dienstkonto verwendet.
    • Für andere VMs müssen Sie ein Dienstkonto erstellen oder auswählen, das im Namen Ihrer VM agiert. Sie benötigen den Speicherort der Dienstkontoschlüsseldatei, um die VM zu konfigurieren. Auf der Seite Dienstkonten können Sie Schlüssel für vorhandene Konten aufrufen und erstellen.
  2. Gewähren Sie Ihrem Dienstkonto Repository-Zugriffsberechtigungen.

  3. Bereiten Sie die VM für den Zugriff auf das Repository vor.

    Compute Engine-VM

    1. Weisen Sie der VM cloud-platform-API-Zugriffsbereiche zu. Informationen zum Festlegen von Zugriffsbereichen finden Sie unter Dienstkonto und Zugriffsbereiche für eine Instanz ändern.

    2. Aktualisieren Sie den Paket-Cache mit dem folgenden Befehl:

      sudo yum makecache
      
    3. Installieren Sie das Artifact Registry-Plug-in auf der VM mit dem folgenden Befehl:

      sudo yum install FORMAT-plugin-artifact-registry
      

      Ersetzen Sie Folgendes:

      • FORMAT durch einen der folgenden Werte:
        • yum, wenn Ihr Betriebssystem Enterprise Linux 7 oder niedriger ist
        • dnf, wenn Ihr Betriebssystem Enterprise Linux 8 oder höher ist

    Andere VM

    1. Installieren Sie den RPM-Signaturschlüssel mit dem folgenden Befehl:

      sudo rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      
    2. Erstellen Sie eine Datei mit dem Namen /etc/yum.repos.d/artifact-registry-plugin.repo und mit folgendem Inhalt:

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

      Ersetzen Sie Folgendes:

      • FORMAT durch einen der folgenden Werte:
        • yum, wenn Ihr Betriebssystem Enterprise Linux 7 oder niedriger ist
        • dnf, wenn Ihr Betriebssystem Enterprise Linux 8 oder höher ist
      • DISTRO durch die Hauptversion von Red Hat Enterprise Linux im Format elX, wobei X die Release-Version ist. Beispiele für gültige DISTRO-Werte sind el7, el8, el9 und el10.
    3. Aktualisieren Sie Yum mit dem folgenden Befehl:

      sudo yum makecache
      
    4. Installieren Sie das Artifact Registry-Plug-in auf der VM mit dem folgenden Befehl:

      yum install FORMAT-plugin-artifact-registry
      

      Ersetzen Sie FORMAT durch einen der folgenden Werte:

      • yum, wenn Ihr Betriebssystem Enterprise Linux 7 oder niedriger ist
      • dnf, wenn Ihr Betriebssystem Enterprise Linux 8 oder höher ist
    5. Suchen Sie in der Datei artifact-registry.conf die Zeile #service_account_json = "/path/to/creds.json", entfernen Sie die Auskommentierung und fügen Sie den Pfad Ihres Dienstkontoschlüssels hinzu.

      • Bei Enterprise Linux 7 oder früheren Betriebssystemen lautet der Pfad zur Konfigurationsdatei /etc/yum/pluginconf.d/artifact-registry.conf.
      • Bei Enterprise Linux 8 oder höher lautet der Pfad zur Konfigurationsdatei /etc/dnf/plugins/artifact-registry.conf.

      Eintrag in der Konfigurationsdatei:

      service_account_json = "PATH_TO_SERVICE_ACCOUNT_KEY"
      

      Ersetzen Sie PATH_TO_SERVICE_ACCOUNT_KEY durch den Pfad zur JSON-Datei Ihres Dienstkontoschlüssels.

Öffentliches Repository

Konfigurieren Sie den öffentlichen Zugriff auf das Repository.

VM für den Zugriff auf ein Standard-Yum-Repository konfigurieren

Wenn Sie eine VM für den Zugriff auf ein Yum-Repository konfigurieren möchten, verwenden Sie das Clienttool yum oder dnf:

  1. Generieren Sie den VM-Konfigurationsbefehl mit dem Befehl gcloud beta artifacts print-settings yum:

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

    Ersetzen Sie Folgendes:

    • REPOSITORY ist der Name des Artifact Registry-Repositorys.
    • LOCATION ist der regionale Standort des Repositorys.

    Die Ausgabe sieht etwa so aus:

    # 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. Konfigurieren Sie das yum-Clienttool so, dass Pakete mit dem Befehl tee aus der Ausgabe des Befehls print-settings aus Ihrem Repository abgerufen werden.

    Wenn Sie beispielsweise Pakete aus dem öffentlichen my-repo im Projekt my-project und am Standort u-france-east1 installieren möchten, verwenden Sie den folgenden Befehl:

    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. Aktualisieren Sie die Repository-Quellen mit dem folgenden Befehl:

    sudo yum makecache
    

Yum kann jetzt eine Verbindung zum Repository herstellen.

Wenn Sie zusätzliche Yum-Repositories erstellen, erstellen Sie für jedes eine .repo-Datei in /etc/yum.repos.d/. Führen Sie sudo yum update noch einmal aus, um die Repository-Quellen zu aktualisieren.

Nächste Schritte