Systemartefakte ändern

Auf dieser Seite wird beschrieben, wie Sie Ihre Systemartefakte in einer GDC-Appliance (Google Distributed Cloud) mit Air Gap ändern.

Systemartefakte in GDC ändern, um die Bereitstellung zu verwalten und zu optimieren.

Hinweise

Wenn Sie Systemartefakte ändern möchten, benötigen Sie Diagnosezugriff und Zugriff auf die erforderlichen Identitäts- und Zugriffsrollen:

  • Der Diagnosezugriff ist ein privilegierter Zugriffsmodus, der erforderlich ist, um einen Kunden bei einem Problem sicher zu unterstützen. Sie müssen ein Ticket erstellen, um diesen Zugriff zu erhalten.
  • System Artifact Registry Debugger: hat Lese- und Schreibzugriff auf alle Harbor-Ressourcen. Bitten Sie Ihren Sicherheitsadministrator, Ihnen die Clusterrolle „System Artifact Registry Debugger“ (sar-debugger) zuzuweisen.
  • System Artifact Registry-Secret „harbor-system“ Debugger: Hat Debugger-Zugriff im Namespace harbor-system. Bitten Sie Ihren Sicherheitsadministrator, Ihnen die Rolle „System Artifact Registry harbor-system secret Debugger“ (sar-harbor-system-secret-debugger) zuzuweisen.

Docker-Images hochladen

Wenn Sie Systemartefakte ändern möchten, müssen Sie neue Docker-Images hochladen. Die Uploadmethode hängt davon ab, in welche der folgenden beiden Registries Sie Ihre Container-Images übertragen:

In den folgenden Abschnitten finden Sie die Uploadanleitung für die beiden Registrierungstypen.

Container-Image auf der Bootstrap-Maschine hochladen

So laden Sie Container-Images auf dem Bootstrap-Computer in Artifact Registry hoch:

  1. Achten Sie darauf, dass Sie das geänderte Docker-Image mit den behobenen Problemen haben.

  2. Übertragen Sie das neue Image auf den Bootstrap-Knoten in Ihrer GDC-Umgebung.

  3. Melden Sie sich auf dem Bootstrap-Knoten an.

  4. Suchen Sie die Adresse der Artifact Registry auf der Bootstrap-Maschine zur Bootstrap-Zeit und legen Sie sie als Umgebungsvariable REGISTRY_IP fest:

    REGISTRY=$(kubectl get harborcluster harbor -n harbor-system -o=jsonpath='{.spec.externalURL}')
    
    REGISTRY_IP=${REGISTRY#https://}
    
  5. Rufen Sie die Anmeldedaten für den Zugriff auf Artifact Registry ab. Rufen Sie das Administratorkonto und das Passwort ab:

    ADMIN_PASS=$(kubectl -n harbor-system get secret harbor-admin \
        -o jsonpath="{.data.secret}" | base64 -d)
    
  6. Melden Sie sich bei Artifact Registry an:

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    Eine Login Succeeded-Meldung wird ausgegeben, um einen erfolgreichen Login in Artifact Registry zu bestätigen.

  7. Taggen Sie das neue Bild:

    docker image tag CONTAINER_IMAGE_URL \
        $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

    Ersetzen Sie Folgendes:

    • CONTAINER_IMAGE_URL: Die lokale Container-Image-URL, z. B. gcr.io/repository/image:tag.
    • PROJECT_NAME: der Artifact Registry-Projektname.
    • IMAGE_NAME: der Name des Container-Images.
    • TAG: das Container-Image-Tag.
  8. Übertragen Sie das neue Image per Push in Artifact Registry:

    docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

Container-Image in den Infrastrukturcluster der Organisation hochladen

So laden Sie Container-Images in die Artifact Registry in einem Cluster mit Organisationsinfrastruktur hoch:

  1. Achten Sie darauf, dass Sie das geänderte Docker-Image mit den behobenen Problemen haben.

  2. Übertragen Sie das neue Image auf einen Knoten mit Root-Zugriff mit einer Root-kubeconfig-Datei für den Organisationsinfrastrukturcluster in Ihrer Air-Gap-Umgebung.

  3. Exportieren Sie den Pfad des Organisationsinfrastrukturclusters kubeconfig als Umgebungsvariable:

    export ORG_INFRA_KUBECONFIG=KUBECONFIG_FILE_PATH
    

    Ersetzen Sie KUBECONFIG_FILE_PATH durch den Pfad zur Datei kubeconfig.

  4. Suchen Sie die In-Cluster-Adresse von Artifact Registry und legen Sie sie als Umgebungsvariable REGISTRY_IP fest:

    REGISTRY=$(kubectl --kubeconfig $ORG_INFRA_KUBECONFIG get harborcluster /
    harbor -n harbor-system -o=jsonpath='{.spec.externalURL}')
    
    REGISTRY_IP=${REGISTRY#https://}
    
  5. Achten Sie darauf, dass REGISTRY_IP eine gültige URL wie 10.200.0.36:10443 enthält:

    echo ${REGISTRY_IP}
    
  6. Prüfen Sie, ob das CA-Zertifikat vorhanden ist:

    ls -al /etc/docker/certs.d/${REGISTRY_IP}/ca.crt
    

    Wenn das Zertifikat nicht vorhanden ist, erstellen und konfigurieren Sie es:

    mkdir -p /etc/docker/certs.d/${REGISTRY_IP}/
    
    chmod 755  /etc/docker/certs.d/${REGISTRY_IP}/
    
    echo $(kubectl get secret harbor-cert-secret -n istio-system -o jsonpath='{.data.ca\.crt}' --kubeconfig $ORG_INFRA_KUBECONFIG) | openssl base64 -A -d >  /etc/docker/certs.d/${REGISTRY_IP}/ca.crt
    
    chmod 755 /etc/docker/certs.d/${REGISTRY_IP}/ca.crt
    
  7. Rufen Sie die Anmeldedaten für den Zugriff auf Artifact Registry ab. Verwenden Sie den folgenden Befehl, um das Administratorkonto und das Passwort abzurufen:

    ADMIN_PASS=$(kubectl --kubeconfig $ORG_INFRA_KUBECONFIG \
        -n harbor-system get secret harbor-admin \
        -o jsonpath="{.data.secret}" | base64 -d)
    
  8. Melden Sie sich bei Artifact Registry an:

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    Eine Login Succeeded-Meldung wird ausgegeben, um einen erfolgreichen Login in Artifact Registry zu bestätigen.

  9. Taggen Sie das neue Bild:

    docker image tag CONTAINER_IMAGE_URL \
        $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

    Ersetzen Sie Folgendes:

    • CONTAINER_IMAGE_URL: Die lokale Container-Image-URL, z. B. gcr.io/repository/image:tag.
    • PROJECT_NAME: der Artifact Registry-Projektname.
    • IMAGE_NAME: der Name des Container-Images.
    • TAG: das Container-Image-Tag.
  10. Übertragen Sie das neue Image per Push in Artifact Registry:

    docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

Systemartefakte ändern

Mit den gdcloud artifacts-Befehlen können Sie Systemartefakte in GDC ändern. Sie können Ihre Bereitstellung aktualisieren, anpassen und schützen, indem Sie beispielsweise Softwarepakete ersetzen, Konfigurationen anpassen und Patches anwenden.

Führen Sie folgende Aktionen durch:

  • apt-Pakete verwalten.
  • Bilder aus OCI-Paketen erstellen und extrahieren.
  • Verfügbare Versionen des OCI-Root-Images auflisten
  • Vorhandene Pakete patchen
  • OCI-Pakete in eine Registry hoch- und aus einer Registry herunterladen.
  • Die Struktur eines OCI-Bundles anzeigen.
  • OCI-Bundles entpacken

Weitere Informationen finden Sie unter gdcloud artifacts.