Auf dieser Seite wird beschrieben, wie VMs konfiguriert werden, um RPM-Pakete aus einem Artifact Registry-Yum-Repository zu installieren. Die Yum-Repositories von Artifact Registry unterstützen die Clients yum
und dnf
.
Hinweise
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
Wählen Sie das Dienstkonto aus, mit dem Sie Zugriff gewähren möchten.
- Für Compute Engine-VMs kann dies das Standarddienstkonto sein. Artifact Registry ruft automatisch die Anmeldedaten eines Compute Engine-VM-Dienstkontos für jede VM ab, die ein Dienstkonto verwendet.
- Erstellen oder wählen Sie für andere VMs ein Dienstkonto, das im Namen Ihrer VM agiert. Sie benötigen den Speicherort der Dienstkonto-Schlüsseldatei, um die VM zu konfigurieren. Auf der Seite Dienstkonten können Sie Schlüssel für vorhandene Konten ansehen und erstellen.
Ihrem Dienstkonto Zugriffsberechtigungen für das Repository gewähren.
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 Paketcache 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 Sie Enterprise Linux 7 oder eine frühere Version als Betriebssystem verwendendnf
, wenn Sie Enterprise Linux 8 oder höher als Betriebssystem verwenden
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 Sie Enterprise Linux 7 oder eine frühere Version als Betriebssystem verwendendnf
, wenn Sie Enterprise Linux 8 oder höher als Betriebssystem verwenden
DISTRO
durch den Haupt-Release von Red Hat Enterprise Linux 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 Sie Enterprise Linux 7 oder eine frühere Version als Betriebssystem verwendendnf
, wenn Sie Enterprise Linux 8 oder höher als Betriebssystem verwenden
Suchen Sie die Zeile
#service_account_json = "/path/to/creds.json"
in der Dateiartifact-registry.conf
, entfernen Sie die Kommentarzeichen in der Zeile und fügen Sie den Pfad Ihres Dienstkontoschlüssels hinzu.- Unter Enterprise Linux 7 oder niedriger ist der Pfad zur Konfigurationsdatei
/etc/yum/pluginconf.d/artifact-registry.conf
. - Für Enterprise Linux 8-Betriebssysteme oder höher ist der Pfad zur Konfigurationsdatei
/etc/dnf/plugins/artifact-registry.conf
.
Eintrag in der Konfigurationsdatei:
service_account_json = "PATH_TO_SERVICE_ACCOUNT_KEY"
Geben Sie für
PATH_TO_SERVICE_ACCOUNT_KEY
den Pfad zu Ihrer JSON-Datei mit dem Dienstkontoschlüssel an.- Unter Enterprise Linux 7 oder niedriger ist der Pfad zur Konfigurationsdatei
Öffentliches Repository
- 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:
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:
- LOCATION ist ein regionaler oder multiregionaler Standort.
- 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
Konfigurieren Sie das
yum
-Clienttool so, dass Pakete aus Ihrem Repository mit dem Befehltee
aus der Ausgabe des Befehlsprint-settings
abgerufen werden.Verwenden Sie beispielsweise den folgenden Befehl, um Pakete aus dem öffentlichen
my-repo
im Projektmy-project
und am Speicherortus-central1
zu installieren: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
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 Repository eine .repo
-Datei in /etc/yum.repos.d/
. Führen Sie sudo yum update
noch einmal aus, um Repository-Quellen zu aktualisieren.
VM für den Zugriff auf ein Remote-Yum-Repository konfigurieren
Wenn Sie eine VM so konfigurieren möchten, dass sie nur ein Remote-Yum-Repository anstelle eines standardmäßigen vorgelagerten Yum-Repositorys verwendet, 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 Repository-Datei (.repo
) definiert ist, können Sie den Eintrag in der Konfigurationsdatei löschen und durch Ihr Remote-Repository ersetzen oder eine neue Repository-Datei 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 die entsprechende Repository-Datei (.repo
), die das Standard-Upstream-Repository enthält. Dies wird manchmal als Basis-Repository bezeichnet. Das Basis-Repository kann am Namen des Yum-Repositorys identifiziert werden, das[base]
oder[baseos]
enthält.Entfernen Sie die Standardeinstellungen unter
[base]
, um das Basis-Repository vollständig zu ersetzen.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
durch eine aus einem Wort eindeutige Repository-ID für Ihr Remote-Yum-Repository. Dieser Name kann mit dem Namen des Upstream-Repositorys übereinstimmen, wenn Sie dessen Konfiguration gelöscht haben, oder mit einem anderen Namen, um es als Remote-Repository zu identifizieren.REPOSITORY_NAME
durch den visuell lesbaren Namen des Repositorys.LOCATION
durch den regionalen oder multiregionalen Standort des Remote-Repositorys.
PROJECT_ID
durch die Projekt-ID der VM.REMOTE_REPOSITORY_NAME
durch den Namen, den Sie dem Remote-Repository gegeben haben.
Remote-Yum-Repository als Sicherung verwenden
Wenn Sie die Standard-Upstream-Option 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 belassen und eine neue Repository-Datei im Ordner /etc/yum.repos.d
erstellen.
Führen Sie den folgenden Befehl aus, um eine neue Repository-Datei 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 aus einem Wort bestehende Repository-ID für Ihr Remote-Yum-Repository.REPOSITORY_NAME
durch den visuell lesbaren Namen des Repositorys.LOCATION
durch den regionalen oder multiregionalen Standort des Remote-Repositorys.
PROJECT_ID
durch die Projekt-ID der VM.REMOTE_REPOSITORY_NAME
durch den Namen, den Sie dem Remote-Repository gegeben haben.
Mit dem folgenden Befehl wird die VM beispielsweise so konfiguriert, dass das Repository my-repo
im Projekt my-project
und der 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