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.
Hinweis
Wenn das Ziel-Yum-Repository nicht vorhanden ist, erstellen Sie ein neues Repository. Sie können ein privates 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
Wählen Sie das Dienstkonto aus, mit dem Sie den Zugriff gewähren möchten.
- Bei Compute Engine-VMs kann dies das Standarddienstkonto sein. Artifact Registry ruft automatisch Anmeldedaten für Compute Engine-VM-Dienstkonten für jede VM ab, 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, um die VM zu konfigurieren. Auf der Seite Dienstkonten können Sie Schlüssel für vorhandene Konten aufrufen und erstellen.
Weisen Sie Ihrem Dienstkonto Berechtigungen für den Repositoryzugriff zu.
Bereiten Sie die VM für den Zugriff auf das Repository vor.
Compute Engine-VM
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.Aktualisieren Sie den Paket-Cache mit dem folgenden Befehl:
sudo yum makecache
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 älter istdnf
, wenn Ihr Betriebssystem Enterprise Linux 8 oder höher ist
Andere VM
Installieren Sie den RPM-Signaturschlüssel mit dem folgenden Befehl:
sudo rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
Erstellen Sie eine Datei mit dem Namen
/etc/yum.repos.d/artifact-registry-plugin.repo
und 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 älter istdnf
, wenn Ihr Betriebssystem Enterprise Linux 8 oder höher ist
DISTRO
mit der Red Hat Enterprise Linux-Hauptversion im FormatelX
, wobeiX
die Release-Version ist. Beispiele für gültigeDISTRO
-Werte sindel7
undel8
.
Aktualisieren Sie Yum mit dem folgenden Befehl:
sudo yum makecache
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 älter istdnf
, wenn Ihr Betriebssystem Enterprise Linux 8 oder höher ist
Suchen Sie in der Datei
artifact-registry.conf
nach der Zeile#service_account_json = "/path/to/creds.json"
, entfernen Sie den Kommentar und fügen Sie den Pfad zum Dienstkontoschlüssel 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"
Ersetzen Sie
PATH_TO_SERVICE_ACCOUNT_KEY
durch den Pfad zur JSON-Datei des Dienstkontoschlüssels.- Bei Enterprise Linux 7 oder älteren Betriebssystemen lautet der Pfad zur Konfigurationsdatei
Öffentliches Repository
Konfigurieren Sie den öffentlichen Zugriff auf das Repository.
VM für den Zugriff auf ein standardmäßiges Yum-Repository konfigurieren
Verwenden Sie das Client-Tool yum
oder dnf
, um eine VM für den Zugriff auf ein Yum-Repository zu konfigurieren:
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:
REPOSITORY
ist der Name des Artifact Registry-Repositorys.-
LOCATION
ist der regionale oder multiregionale Speicherort des 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
Konfigurieren Sie das
yum
-Clienttool so, dass es Pakete aus Ihrem Repository abruft. Verwenden Sie dazu den Befehltee
aus der Ausgabe des Befehlsprint-settings
.Wenn Sie beispielsweise Pakete aus dem öffentlichen
my-repo
im Projektmy-project
und am Speicherortus-west1
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://us-west1-yum.pkg.dev/projects/my-project/my-repo enabled=1 repo_gpgcheck=0 gpgcheck=0 EOL
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.
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 anstelle einer separaten Repositorydatei (.repo
) definiert ist, können Sie den Eintrag in der Konfigurationsdatei löschen und durch Ihr Remote-Repository ersetzen oder eine neue Repositorydatei im Verzeichnis /etc/yum.repos.d/
definieren.
Öffnen Sie die Seite "VM-Instanzen".
Klicken Sie in der Zeile mit Ihrer VM auf SSH. Ein neues Fenster mit einer Terminalsitzung auf der VM wird geöffnet.
Ö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 am Namen des Yum-Repositories mit[base]
oder[baseos]
erkannt werden.Wenn Sie das Basis-Repository vollständig ersetzen möchten, entfernen Sie die Standardeinstellungen unter
[base]
oder[baseos]
. Wenn Sie das standardmäßige Upstream-Repository beibehalten und das Remote-Repository als Fallback-Option hinzufügen möchten, entfernen Sie die Standardeinstellungen nicht.Fügen Sie unter
[base]
oder[baseos]
die folgenden Einstellungen hinzu: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
durch eine eindeutige Repository-ID aus einem Wort für Ihr Remote-Yum-Repository. Dieser Name kann mit dem Namen des Upstream-Repositories übereinstimmen, wenn Sie die Standardkonfiguration des Upstream-Repositories gelöscht haben. Wenn Sie das Standard-Upstream-Repository beibehalten, können Sie einen anderen Namen verwenden, um es als Remote-Repository zu identifizieren.-
LOCATION
ist der regionale oder multiregionale Speicherort des Repositorys. PROJECT_ID
durch die Projekt-ID der VM.REMOTE_REPOSITORY_NAME
durch den visuell lesbaren Namen des Remote-Repositorys.
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 eindeutige Repository-ID aus einem Wort für Ihr Remote-Yum-Repository.REPOSITORY_NAME
durch den visuell 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.
Mit dem folgenden Befehl wird beispielsweise die VM so konfiguriert, dass das Repository my-repo
im Projekt my-project
und am Speicherort us-west1
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-west1-yum.pkg.dev/remote/my-project/my-repo
enabled=1
gpgcheck=1
EOF