VMs für die Installation von Debian-Paketen konfigurieren

Auf dieser Seite wird beschrieben, wie Sie VMs so konfigurieren, dass Debian-Pakete aus einem Artifact Registry-Apt-Repository installiert werden.

Hinweise

Wenn das Ziel-Apt-Repository nicht vorhanden ist, erstellen Sie ein neues Standard-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 Apt-Repository vorbereiten

Privates Repository

  1. 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 Dienstkontoanmeldedaten für Compute Engine-VMs für alle VMs ab, die ein Dienstkonto verwenden.
    • Für andere VMs erstellen Sie ein Dienstkonto oder wählen Sie ein Dienstkonto aus, das im Namen Ihrer VM agieren soll. 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 aufrufen und erstellen.
  2. Gewähren Sie Ihrem Dienstkonto Berechtigungen für den Repository-Zugriff.

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

    Compute Engine-VM

    Debian-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 Apt mit dem folgenden Befehl:

      sudo apt update
      
    3. Installieren Sie das Paket apt-transport-artifact-registry auf der VM:

      sudo apt install apt-transport-artifact-registry
      

    Ubuntu-VM

    1. Installieren Sie die Signaturschlüssel für das Apt-Repository mit dem folgenden Befehl:

      curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add - && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
      

      Ersetzen Sie LOCATION durch den regionalen Standort des Repositorys.

    2. 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.

    3. Konfigurieren Sie Ihre VM für den Zugriff auf Artifact Registry-Pakete mit dem folgenden Befehl:

      echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
      
    4. Aktualisieren Sie Apt mit dem folgenden Befehl:

      sudo apt update
      
    5. Installieren Sie das Paket apt-transport-artifact-registry auf der VM:

      sudo apt install apt-transport-artifact-registry
      

    Andere VM

    1. Installieren Sie die Signaturschlüssel für das Apt-Repository mit dem folgenden Befehl:

      curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add - && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
      

      Ersetzen Sie LOCATION durch den regionalen Standort des Repositorys.

    2. Konfigurieren Sie Ihre VM für den Zugriff auf Artifact Registry-Pakete mit dem folgenden Befehl:

      echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
      
    3. Aktualisieren Sie Apt mit dem folgenden Befehl:

      sudo apt update
      
    4. Installieren Sie das Paket apt-transport-artifact-registry auf der VM:

      sudo apt install apt-transport-artifact-registry
      
    5. Suchen Sie in der Datei /etc/apt/apt.conf.d/90artifact-registry nach der Zeile #Service-Account-JSON "/path/to/creds.json";, heben Sie die Auskommentierung der Zeile auf und fügen Sie den Pfad Ihres Dienstkontoschlüssels hinzu.

      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 mit dem Dienstkontoschlüssel.

Öffentliches Repository

  1. Öffentlichen Zugriff auf das Repository konfigurieren

  2. Wenn Sie eine VM außerhalb von Trusted Cloudkonfigurieren, bereiten Sie Ihren Computer für den Zugriff auf das Repository vor. Wenn Sie eine Compute Engine-VM konfigurieren, fahren Sie mit dem nächsten Schritt fort.

    Installieren Sie den öffentlichen Schlüssel zur Signaturprüfung mit dem folgenden Befehl:

    curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add -
    

    Ersetzen Sie LOCATION durch den regionalen Standort des Repositorys.

  3. Aktualisieren Sie Apt mit dem folgenden Befehl:

    sudo apt update
    

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

So konfigurieren Sie eine VM für den Zugriff auf ein Apt-Repository:

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

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

    Ersetzen Sie Folgendes:

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

    Die Ausgabe sieht etwa so aus:

    # To configure your package manager with this repository:
    
    # Update Apt:
    sudo apt update
    
    # Install the Apt credential helper:
    sudo apt install apt-transport-artifact-registry
    
    # Configure your VM to access Artifact Registry packages using the following
    # command:
    
    echo "deb ar+https://LOCATION-apt.pkg.dev/projects/PROJECT REPOSITORY main" | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    
    # Update Apt:
    sudo apt update
    
  2. Konfigurieren Sie Apt so, dass Pakete aus Ihrem Repository abgerufen werden. Verwenden Sie dazu den Befehl echo aus der Ausgabe des Befehls print-settings.

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

    echo 'deb ar+https://u-france-east1-apt.pkg.dev/projects/my-project my-repo main'
    
  3. Aktualisieren Sie Ihre Repository-Quellen mit dem folgenden Befehl:

    sudo apt update
    

Apt kann jetzt eine Verbindung zum Repository herstellen.

Wenn Sie zusätzliche Apt-Repositories erstellen, können Sie sie der Datei artifact-registry.list hinzufügen und dann sudo apt update noch einmal ausführen, um die Repository-Quellen zu aktualisieren.

HTTP-Zugriff auf ein Apt-Repository konfigurieren

Wenn Sie ältere Clienttools verwenden, die keine SSL-Verschlüsselung unterstützen, können Sie den öffentlichen Zugriff auf Ihr Apt-Repository konfigurieren und über HTTP darauf zugreifen. Anfragen, die über HTTP an öffentlich lesbare Repositories gesendet werden, werden abgelehnt, wenn mit der Anfrage ein Authentifizierungstoken übergeben wird.

  1. Öffentlichen Zugriff auf das Repository konfigurieren

  2. Führen Sie den folgenden Befehl aus, um Apt so zu konfigurieren, dass Pakete aus Ihrem Repository über HTTP abgerufen werden:

     echo 'deb http://LOCATION-apt.pkg.dev/projects/PROJECT_ID \
     REPOSITORY main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    

    Ersetzen Sie Folgendes:

    • LOCATION ist der regionale Speicherort des Repositorys.
    • PROJECT_ID ist die Projekt-ID des Repositorys.
    • REPOSITORY ist der Name des Repositorys.

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

    echo 'deb http://u-france-east1-apt.pkg.dev/projects/my-project my-repo main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    
  3. Aktualisieren Sie Ihre Repository-Quellen mit dem folgenden Befehl:

    sudo apt update
    

Apt kann jetzt eine Verbindung zum Repository herstellen.

Wenn Sie zusätzliche Apt-Repositories erstellen, können Sie sie der Datei artifact-registry.list hinzufügen und dann sudo apt update noch einmal ausführen, um die Repository-Quellen zu aktualisieren.

Nächste Schritte