VMs zum Installieren von RPM-Paketen konfigurieren

Auf dieser Seite wird beschrieben, wie Sie VMs so konfigurieren, dass RPM-Pakete aus einem Yum-Repository der Artifact Registry installiert werden. Yum-Repositories in Artifact Registry unterstützen yum- und dnf-Clients.

Hinweise

Wenn das Yum-Ziel-Repository nicht vorhanden ist, Erstellen Sie ein neues Repository. Sie können ein privates oder ein öffentliches Repository, das keine Authentifizierung erfordert.

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, über das Sie Zugriff gewähren möchten.

    • Bei Compute Engine-VMs kann dies das Standarddienstkonto sein. Artifact Registry ruft die Compute Engine-VM automatisch ab Dienstkonto-Anmeldedaten für jede VM, die ein Dienstkonto verwendet.
    • Für andere VMs erstellen oder wählen Sie ein Dienstkonto aus, das im Namen Ihrer VM agieren soll. Sie benötigen Den Speicherort der Dienstkontoschlüsseldatei zum Konfigurieren der VM. Ich kann Schlüssel für vorhandene Konten im Dienstkonten.
  2. Gewähren Sie Ihrem Dienstkonto Repository-Zugriffsberechtigungen.

  3. VM für den Zugriff auf das Repository vorbereiten

    Compute Engine-VM

    1. Zuweisen cloud-platform API-Zugriffsbereiche auf die VM übertragen. Informationen zum Festlegen von Zugriffsbereichen finden Sie unter Dienstkonto und Zugriffsbereiche für eine Instanz ändern.

    2. Aktualisieren Sie den Paketcache 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 Sie als Betriebssystem Enterprise Linux 7 oder früher
        • 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. Datei mit dem Namen erstellen /etc/yum.repos.d/artifact-registry-plugin.repo mit dem folgenden 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 Sie als Betriebssystem Enterprise Linux 7 oder früher
        • dnf, wenn Ihr Betriebssystem Enterprise Linux 8 oder höher ist
      • DISTRO mit der Red Hat Enterprise Linux-Hauptversion im Format elX, wobei X die Release-Version ist. Beispiele für gültige DISTRO-Werte sind el7 und el8.
    3. Aktualisieren Sie Yum mit dem folgenden Befehl:

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

      yum install FORMAT-plugin-artifact-registry
      

      Ersetzen Sie FORMAT durch einen der folgenden Werte:

      • yum, wenn Sie als Betriebssystem Enterprise Linux 7 oder früher
      • dnf, wenn Sie Enterprise Linux 8 oder höher verwenden
    5. Die Linie #service_account_json = "/path/to/creds.json" finden in der Datei artifact-registry.conf, entfernen Sie dann die Kommentarzeichen in der Zeile und fügen Sie den Pfad Ihres Dienstkontoschlüssels hinzu.

      • Bei Enterprise Linux 7 oder älteren 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"
      

      PATH_TO_SERVICE_ACCOUNT_KEY ersetzen durch Pfad zur JSON-Datei Ihres Dienstkontoschlüssels.

Öffentliches Repository

  1. Konfigurieren Sie den öffentlichen Zugriff auf das Repository.

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

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

  1. Generieren Sie den Befehl zur VM-Konfiguration, indem Sie den Befehl gcloud beta artifacts print-settings yum ausführen:

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

    Ersetzen Sie Folgendes:

    • LOCATION ist ein regionaler oder multiregionaler location fest.
    • REPOSITORY ist der Name des Artifact Registry-Repositorys.

    Die Ausgabe sieht in 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.pkg.dev/projects/PROJECT/REPOSITORY
    enabled=1
    repo_gpgcheck=0
    gpgcheck=0
    EOL
    
    # Update Yum:
    sudo yum makecache
    
  2. Konfigurieren Sie das yum-Clienttool so, dass es Pakete aus Ihrem Repository abruft. Verwenden Sie dazu den Befehl tee aus der Ausgabe des Befehls print-settings.

    Beispielsweise, um Pakete aus dem öffentlichen my-repo im Projekt zu installieren my-project und am Speicherort us-central1 den folgenden Befehl aus:

    sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL
    [my-repo]
    name=My Repository
    baseurl=https://us-central1-yum.pkg.dev/projects/my-project/my-repo
    enabled=1
    repo_gpgcheck=0
    gpgcheck=0
    EOL
    
  3. Aktualisieren Sie Ihre 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.

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

Wenn Sie eine VM so konfigurieren möchten, dass nur ein Remote-Yum-Repository anstelle eines standardmäßigen Upstream-Yum-Repositories verwendet wird, ersetzen Sie das Standard-Repository in der Repository-Liste der VM durch das Remote-Repository.

Wenn das Standard-Repository in der Konfigurationsdatei und nicht in einem separate Repository-Datei (.repo) können Sie den Eintrag in der Konfiguration löschen -Datei und ersetzen Sie sie durch Ihre Remote-Datei oder definieren Sie eine neue Repository-Datei in der /etc/yum.repos.d/-Verzeichnis.

  1. Öffnen Sie die Seite "VM-Instanzen".

  2. Klicken Sie in der Zeile mit Ihrer VM auf SSH. Ein neues Fenster wird geöffnet, auf der VM ausgeführt wird.

  3. Öffnen Sie den Ordner /etc/yum.repos.d/ der VM und suchen Sie nach der entsprechenden Repository-Datei (.repo), die das standardmäßige Upstream-Repository enthält. Dies wird manchmal auch als Basis-Repository bezeichnet. Das Basis-Repository kann anhand des Yum-Repository-Namens identifiziert werden, der [base] enthält, oder [baseos].

  4. Um das Basis-Repository vollständig zu ersetzen, entfernen Sie die Standardeinstellungen unter [base]

  5. Fügen Sie unter [base] Folgendes hinzu:

    [base]
    name=YUM_REPOSITORY_NAME
    baseurl=https://LOCATION-yum.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME
    enabled=1
    gpgcheck=1
    

    Ersetzen Sie Folgendes:

  • YUM_REPOSITORY_NAME mit einem eindeutigen aus einem Wort bestehenden Repository ID für Ihr Yum-Remote-Repository. Dieser Name kann mit dem Namen des Upstream-Repositories übereinstimmen, wenn Sie dessen Konfiguration gelöscht haben, oder mit einem anderen Namen, um es als Remote-Repository zu identifizieren.
  • REPOSITORY_NAME durch den für Menschen lesbaren Namen des Repositorys.
    • LOCATION durch den regionalen oder multiregionalen Speicherort des Remote-Repositorys.
  • PROJECT_ID durch die Projekt-ID der VM.
  • REMOTE_REPOSITORY_NAME durch den Namen, den Sie Ihrem Remote-Repository gegeben haben.

Remote-Yum-Repository als Sicherung verwenden

Wenn Sie das Standard-Upstream als erste Option beibehalten und das Remote-Repository als Fallback-Option hinzufügen möchten, können Sie das Standard-Upstream in der Repository-Datei beibehalten und eine neue Repository-Datei im Ordner /etc/yum.repos.d erstellen.

Führen Sie den folgenden Befehl aus, um eine neue Repositorydatei im Ordner /etc/yum.repos.d zu erstellen:

sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
[YUM_REPOSITORY_NAME]
name=REPOSITORY_NAME
baseurl=https://LOCATION-yum.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME
enabled=1
gpgcheck=1
EOF

Ersetzen Sie Folgendes:

  • YUM_REPOSITORY_NAME durch eine aus einem Wort bestehende, eindeutige Repository-ID für Ihr Remote-Yim-Repository.
  • REPOSITORY_NAME durch den visuell lesbaren Namen des Repositorys.
    • LOCATION durch das regionale oder multiregionale Element location des Remote-Repositorys.
  • PROJECT_ID durch die Projekt-ID der VM.
  • REMOTE_REPOSITORY_NAME durch den Namen, den Sie Ihrem Remote-Repository gegeben haben.

Mit dem folgenden Befehl wird beispielsweise die VM so konfiguriert, dass das Repository my-repo im Projekt my-project und am Speicherort us-east1 abgerufen wird, wenn Yum das Repository my-repo installiert.

sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
[my-repo]
name=My Repository
baseurl=https://us-east1-yum.pkg.dev/remote/my-project/my-repo
enabled=1
gpgcheck=1
EOF

Nächste Schritte