Usa un repository di immagini privato

Questo documento spiega come configurare Apigee hybrid per utilizzare le immagini da un repository di immagini container privato.

Panoramica

Tutte le immagini di runtime ibride di Apigee sono ospitate nel Container Registry di Google Cloud (GCR). Se per qualsiasi motivo vuoi utilizzare un repository privato di container di immagini, puoi scaricare le immagini da GCR, eseguirne il push nel tuo repository privato ed eseguire l'override delle posizioni predefinite delle immagini nel tuo file overrides.yaml.

Passaggi di configurazione

Segui questi passaggi per utilizzare un repository privato di container di immagini per le immagini ibride Apigee. Per eseguire questi passaggi e utilizzare correttamente le immagini nel tuo repository privato, devi conoscere la procedura di installazione ibrida Apigee. In uno scenario tipico, prevedi di configurare il repository privato come parte di una nuova installazione ibrida.

  1. Esegui il push delle immagini ibride Apigee da GCR al tuo repository privato. Ti consigliamo di utilizzare l'utilità apigee-push-pull per eseguire questo passaggio.

    Se preferisci eseguire questo passaggio manualmente, devi avere installato Docker e utilizzare il comando docker pull come indicato di seguito. Assicurati di aggiungere il tag corretto a ogni nome immagine. Ad esempio, il tag per apigee-synchronizer è 1.10.4, come mostrato di seguito.

    1. Ottieni un elenco aggiornato di tutte le immagini nel tuo progetto attuale utilizzando l'opzione --list dell'utilità apigee-pull-push.sh nella directory apigeectl/tools/:
      apigee-pull-push.sh --list

      L'output dovrebbe essere simile al seguente:

      apigee:
                gcr.io/apigee-release/hybrid/apigee-mart-server:1.10.4
                gcr.io/apigee-release/hybrid/apigee-synchronizer:1.10.4
                gcr.io/apigee-release/hybrid/apigee-runtime:1.10.4
                gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra-client:1.10.4
                gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra:1.10.4
                gcr.io/apigee-release/hybrid/apigee-cassandra-backup-utility:1.10.4
                gcr.io/apigee-release/hybrid/apigee-udca:1.10.4
                gcr.io/apigee-release/hybrid/apigee-connect-agent:1.10.4
                gcr.io/apigee-release/hybrid/apigee-watcher:1.10.4
                gcr.io/apigee-release/hybrid/apigee-operators:1.10.4
                gcr.io/apigee-release/hybrid/apigee-installer:1.10.4
                gcr.io/apigee-release/hybrid/apigee-redis:1.10.4
                gcr.io/apigee-release/hybrid/apigee-diagnostics-collector:1.10.4
                gcr.io/apigee-release/hybrid/apigee-diagnostics-runner:1.10.4
                gcr.io/apigee-release/hybrid/apigee-mint-task-scheduler:1.10.4
              third party:
                gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:1.10.1
                gcr.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
              
    2. Esegui il pull delle immagini necessarie per gli spazi dei nomi apigee-system e apigee con il comando docker pull.

      Spazio dei nomi apigee-system

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

      Il tuo spazio dei nomi apigee

      • 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

      Ad esempio:

      docker pull gcr.io/apigee-release/hybrid/apigee-installer:1.10.4
    3. Dopo aver eseguito il pull e i tag delle immagini, esegui il push nel tuo repository privato. Vedi docker push.
  2. Crea un secret di Kubernetes negli spazi dei nomi apigee e apigee-system.

    Se questi spazi dei nomi non esistono nel cluster, devi crearli prima di eseguire questo passaggio.

    Per la procedura di creazione del secret, vedi Creare un secret fornendo le credenziali nella riga di comando. Ad esempio, per creare un secret nello spazio dei nomi 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)"

    Per creare un secret nello spazio dei nomi 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. Aggiungi il secret al tuo file overrides.yaml. La creazione del file di override è descritta nei passaggi dell'installazione ibrida. Per maggiori dettagli, consulta Configurare il cluster.
    imagePullSecrets:
      - name: SECRET_NAME
  4. Aggiorna il file overrides.yaml con gli URL immagine delle immagini archiviate nel tuo repository privato. Ogni componente archiviato nel repository ha un elemento image:url. Utilizza questo elemento per specificare l'URL di ciascuna immagine del componente. Ad esempio:
    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
    .

    Segui questo pattern per aggiornare ogni componente ibrido di primo livello nel file overrides.yaml con il relativo URL immagine del repository privato. Con la tua installazione ibrida nella directory $APIGEECTL_HOME/examples/private-overrides.yaml viene fornito un file di override di esempio completo.

Ora puoi completare una nuova installazione ibrida utilizzando le immagini private o aggiornare l'installazione esistente. Consulta la procedura di installazione ibrida Apigee per ulteriori informazioni.

Installazione di cert-manager da un repository privato

Per installare cert-manager dal tuo repository privato, consulta Installazione con Helm. È importante installare la stessa versione di cert-manager specificato nelle istruzioni per l'installazione di Apigee ibrida per garantire la compatibilità.