Privates Image-Repository mit apigeectl verwenden

In diesem Dokument wird erläutert, wie Sie Apigee Hybrid so konfigurieren, dass Images aus einem privaten Container-Image-Repository verwendet werden.

Übersicht

Alle Apigee Hybrid-Laufzeit-Images werden in der Google Cloud Container Registry (GCR) gehostet. Wenn Sie ein privates Image-Container-Repository verwenden möchten, können Sie die Images aus GCR herunterladen, in Ihr privates Repository übertragen und die Standard-Image-Speicherorte in der Datei overrides.yaml überschreiben.

Konfigurationsschritte

Führen Sie die folgenden Schritte aus, um ein privates Image-Container-Repository für die Apigee Hybrid-Images zu verwenden. Um diese Schritte auszuführen und die Images in Ihrem privaten Repository erfolgreich zu verwenden, müssen Sie mit dem Apigee Hybrid-Installationsverfahren vertraut sein. In einem typischen Szenario planen Sie die Konfiguration des privaten Repositorys als Teil einer neuen Hybridinstallation.

  1. Übertragen Sie die Apigee Hybrid-Images aus GCR in Ihr privates Repository. Wir empfehlen die Verwendung des Dienstprogramms apigee-push-pull für diesen Schritt.

    Wenn Sie diesen Schritt manuell ausführen möchten, müssen Sie Docker installiert haben und den Befehl docker pull folgendermaßen verwenden. Achten Sie darauf, dass Sie jedem Image-Namen das richtige Tag hinzufügen. Das Tag für apigee-synchronizer ist beispielsweise 1.11.1, wie nachstehend gezeigt.

    1. Rufen Sie mit der Option --list des Dienstprogramms apigee-pull-push.sh im Verzeichnis apigeectl/tools/ eine aktuelle Liste aller Images in Ihrem aktuellen Projekt ab. :
      apigee-pull-push.sh --list
    2. Die Ausgabe sollte in etwa so aussehen:

      apigee:
              gcr.io/apigee-release/hybrid/apigee-mart-server:1.11.1
              gcr.io/apigee-release/hybrid/apigee-synchronizer:1.11.1
              gcr.io/apigee-release/hybrid/apigee-runtime:1.11.1
              gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra-client:1.11.1
              gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra:1.11.1
              gcr.io/apigee-release/hybrid/apigee-cassandra-backup-utility:1.11.1
              gcr.io/apigee-release/hybrid/apigee-udca:1.11.1
              gcr.io/apigee-release/hybrid/apigee-connect-agent:1.11.1
              gcr.io/apigee-release/hybrid/apigee-watcher:1.11.1
              gcr.io/apigee-release/hybrid/apigee-operators:1.11.1
              gcr.io/apigee-release/hybrid/apigee-installer:1.11.1
              gcr.io/apigee-release/hybrid/apigee-redis:1.11.1
              gcr.io/apigee-release/hybrid/apigee-diagnostics-collector:1.11.1
              gcr.io/apigee-release/hybrid/apigee-diagnostics-runner:1.11.1
              gcr.io/apigee-release/hybrid/apigee-mint-task-scheduler:1.11.1
      third party:
              gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:1.10.1
              cr.io/apigee-release/hybrid/apigee-prom-prometheus:v2.48.0
              gcr.io/apigee-release/hybrid/apigee-stackdriver-prometheus-sidecar:0.9.0
              gcr.io/apigee-release/hybrid/apigee-kube-rbac-proxy:v0.15.0
              gcr.io/apigee-release/hybrid/apigee-envoy:v1.27.0
              gcr.io/apigee-release/hybrid/apigee-prometheus-adapter:v0.11.2
              gcr.io/apigee-release/hybrid/apigee-asm-ingress:1.17.8-asm.4-distroless
              gcr.io/apigee-release/hybrid/apigee-asm-istiod:1.17.8-asm.4-distroless
              gcr.io/apigee-release/hybrid/apigee-fluent-bit:2.2.0
    3. Rufen Sie mit dem Befehl docker pull die Images ab, die für die Namespaces apigee-system und apigee erforderlich sind. Beispiel:
      docker pull gcr.io/apigee-release/hybrid/apigee-installer:1.11.1

      Die folgende Liste zeigt die Images, die für jeden Namespace benötigt werden:

      apigee-systemNamespace:

      • apigee-installer
      • apigee-kube-rbac-proxy
      • apigee-operators

      Ihr apigee-Namespace

      • apigee-asm-ingress
      • apigee-asm-istiod
      • apigee-cassandra-backup-utility
      • apigee-connect-agent
      • apigee-diagnostics-collector
      • apigee-diagnostics-runner
      • apigee-envoy
      • apigee-fluent-bit
      • apigee-hybrid-cassandra-client
      • apigee-hybrid-cassandra
      • apigee-mart-server
      • apigee-prom-prometheus
      • apigee-prometheus-adapter
      • apigee-redis
      • apigee-runtime
      • apigee-stackdriver-logging-agent
      • apigee-stackdriver-prometheus-sidecar
      • apigee-synchronizer
      • apigee-udca
      • apigee-watcher
    4. Nachdem Sie die Images abgerufen und getaggt haben, übertragen Sie sie per Push in Ihr privates Repository. Siehe docker push.
  2. Erstellen Sie ein Kubernetes Secret in den Namespaces apigee und apigee-system.

    Wenn diese Namespaces in Ihrem Cluster nicht vorhanden sind, müssen Sie sie vor diesem Schritt erstellen.

    Eine schrittweise Anleitung zum Erstellen des Secrets finden Sie unter Secret durch Angabe von Anmeldedaten in der Befehlszeile erstellen. So erstellen Sie beispielsweise ein Secret im Namespace apigee-system:

    kubectl create secret docker-registry SECRET_NAME -n apigee-system \
      --docker-server=YOUR_REGISTRY_SERVER \
      --docker-username=YOUR_DOCKER_USERNAME \
      --docker-email=YOUR_DOCKER_EMAIL \
      --docker-password="YOUR_DOCKER_PASSWORD)"

    So erstellen Sie ein Secret im Namespace apigee:

    kubectl create secret docker-registry SECRET_NAME -n apigee \
      --docker-server=YOUR_REGISTRY_SERVER \
      --docker-username=YOUR_DOCKER_USERNAME \
      --docker-email=YOUR_DOCKER_EMAIL \
      --docker-password="YOUR_DOCKER_PASSWORD)"
  3. Fügen Sie das Secret Ihrer overrides.yaml-Datei hinzu: Die Erstellung der Überschreibungsdatei wird in den Schritten zur Hybridinstallation beschrieben. Weitere Informationen finden Sie unter Cluster konfigurieren.
    imagePullSecrets:
      - name: SECRET_NAME
  4. Aktualisieren Sie Ihre overrides.yaml-Datei mit Image-URLs für die in Ihrem privaten Repository gespeicherten Images. Jede Komponente, die im Repository gespeichert ist, hat ein image:url-Element. Verwenden Sie dieses Element, um die URL jedes Komponenten-Images anzugeben. Beispiele:
    mart:
      serviceAccountPath: /installdir/hybrid-files/service-accounts/hybrid-apigee-non-prod.json
      image:
        url: my-docker.pkg.dev/hybrid-1/registry-name/apigee-mart-server

    Folgen Sie diesem Muster, um jede übergeordnete Hybridkomponente in der overrides.yaml-Datei mit ihrer privaten Repository-Image-URL zu aktualisieren. Eine vollständige Beispiel-Überschreibungsdatei wird mit Ihrer Hybridinstallation im Verzeichnis $APIGEECTL_HOME/examples/private-overrides.yaml bereitgestellt.

Sie können jetzt eine neue Hybridinstallation mit den privaten Images ausführen oder Ihre vorhandene Installation aktualisieren. Weitere Informationen finden Sie unter Schritte der Apigee-Hybridinstallation.

cert-manager aus einem privaten Repository installieren

Informationen zum Installieren von cert-manager aus Ihrem privaten Repository finden Sie unter Mit Helm installieren. Es ist wichtig, dass Sie dieselbe Version von cert-manager installieren, wie in der Anleitung zur Apigee Hybrid-Installation angegeben, um die Kompatibilität zu gewährleisten.