Usar un repositorio de imágenes privado

En este documento se explica cómo configurar Apigee hybrid para que use imágenes de un repositorio de imágenes de contenedor privado.

Información general

Todas las imágenes del tiempo de ejecución híbrido de Apigee se alojan en Google Cloud Container Registry (GCR). Si por algún motivo quieres usar un repositorio de imágenes de contenedor privado, puedes descargar las imágenes de GCR, subirlas a tu repositorio privado y anular las ubicaciones de imágenes predeterminadas en tu archivo overrides.yaml.

Pasos de la configuración

Sigue estos pasos para usar un repositorio de contenedores de imágenes privado para las imágenes de Apigee hybrid. Para llevar a cabo estos pasos y usar correctamente las imágenes de tu repositorio privado, debes conocer el procedimiento de instalación de Apigee hybrid. En un escenario habitual, planificarías la configuración del repositorio privado como parte de una instalación híbrida nueva.

  1. Envía las imágenes de Apigee hybrid de GCR a tu repositorio privado. Te recomendamos que utilices la utilidad apigee-push-pull para completar este paso.

    Si prefieres hacer este paso manualmente, debes tener Docker instalado y usar el comando docker pull de la siguiente manera. Asegúrate de añadir la etiqueta correcta a cada nombre de imagen. Por ejemplo, la etiqueta de apigee-synchronizer es 1.8.8, como se muestra a continuación.

    Estas son las imágenes de los espacios de nombres apigee-system y apigee:

    Espacio de nombres: apigee-system

    docker pull gcr.io/apigee-release/hybrid/apigee-installer:1.8.8
    docker pull gcr.io/apigee-release/hybrid/apigee-kube-rbac-proxy:v0.11.0
    docker pull gcr.io/apigee-release/hybrid/apigee-operators:1.8.8

    Espacio de nombres: apigee

    docker pull gcr.io/apigee-release/hybrid/apigee-cassandra-backup-utility:1.8.8
    docker pull gcr.io/apigee-release/hybrid/apigee-connect-agent:1.8.8
    docker pull gcr.io/apigee-release/hybrid/apigee-diagnostics-collector:1.8.8
    docker pull gcr.io/apigee-release/hybrid/apigee-envoy:v1.21.0
    docker pull gcr.io/apigee-release/hybrid/apigee-fluent-bit:1.9.9
    docker pull gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra-client:1.8.8
    docker pull gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra:1.8.8
    docker pull gcr.io/apigee-release/hybrid/apigee-mart-server:1.8.8
    docker pull gcr.io/apigee-release/hybrid/apigee-mint-task-scheduler:1.8.8
    docker pull gcr.io/apigee-release/hybrid/apigee-prom-prometheus:v2.33.5
    docker pull gcr.io/apigee-release/hybrid/apigee-prometheus-adapter:v0.9.1
    docker pull gcr.io/apigee-release/hybrid/apigee-redis:1.8.8
    docker pull gcr.io/apigee-release/hybrid/apigee-runtime:1.8.8
    docker pull gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:1.8.9
    docker pull gcr.io/apigee-release/hybrid/apigee-stackdriver-prometheus-sidecar:0.9.0
    docker pull gcr.io/apigee-release/hybrid/apigee-synchronizer:1.8.8
    docker pull gcr.io/apigee-release/hybrid/apigee-udca:1.8.8
    docker pull gcr.io/apigee-release/hybrid/apigee-watcher:1.8.8

    Después de extraer y etiquetar las imágenes, debes subirlas a tu repositorio privado. Consulta docker push.

  2. Crea un secreto de Kubernetes en los espacios de nombres apigee y apigee-system.

    Si estos espacios de nombres no existen en tu clúster, debes crearlos antes de realizar este paso.

    Para ver los pasos para crear el secreto, consulta Crear un secreto proporcionando credenciales en la línea de comandos. Por ejemplo, para crear un secreto en el espacio de nombres 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)"

    Para crear un secreto en el espacio de nombres apigee, sigue estos pasos:

    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. Añade el secreto a tu archivo overrides.yaml. La creación del archivo de anulaciones se describe en los pasos de instalación de hybrid. Para obtener más información, consulta Configurar el clúster.
    imagePullSecrets:
      - name: SECRET_NAME
  4. Actualiza el archivo overrides.yaml con las URLs de las imágenes almacenadas en tu repositorio privado. Cada componente almacenado en el repositorio tiene un elemento image:url. Utiliza este elemento para especificar la URL de cada imagen del componente. Por ejemplo:
    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

    Sigue este patrón para actualizar cada componente híbrido de nivel superior de tu archivo overrides.yaml con la URL de la imagen de su repositorio privado. Se proporciona un archivo de sustituciones de ejemplo completo con la instalación híbrida en el directorio $APIGEECTL_HOME/examples/private-overrides.yaml.

Ahora puedes completar una nueva instalación híbrida con las imágenes privadas o actualizar la que ya tengas. Para obtener más información, consulta los pasos para instalar Apigee Hybrid.

Instalar cert-manager desde un repositorio privado

Para instalar cert-manager desde tu repositorio privado, consulta Instalar con Helm. Es importante que instales la misma versión de cert-manager que se especifica en las instrucciones de instalación de Apigee hybrid para asegurar la compatibilidad.