Use um repositório de imagens privado com o apigeectl

Se estiver a usar gráficos Helm para gerir o Apigee hybrid, consulte o artigo Use um repositório de imagens privado com gráficos Helm.

Este documento explica como configurar o Apigee hybrid para usar imagens de um repositório de imagens de contentores privado.

Vista geral

Todas as imagens de tempo de execução híbrido do Apigee estão alojadas no Google Cloud Container Registry (GCR). Se, por algum motivo, quiser usar um repositório de contentores de imagens privado, pode transferir as imagens do GCR, enviá-las para o seu repositório privado e substituir as localizações de imagens predefinidas no seu ficheiro overrides.yaml.

Passos da configuração

Siga estes passos para usar um repositório de contentores de imagens privado para as imagens híbridas do Apigee. Para executar estes passos e usar com êxito as imagens no seu repositório privado, tem de estar familiarizado com o procedimento de instalação híbrida do Apigee. Num cenário típico, planeia configurar o repositório privado como parte de uma nova instalação híbrida.

  1. Envie as imagens do Apigee hybrid do GCR para o seu repositório privado. Recomendamos que use o utilitário apigee-push-pull para concluir este passo.

    Se preferir fazer este passo manualmente, tem de ter o Docker instalado e usar o comando docker pull da seguinte forma. Certifique-se de que anexa a etiqueta correta a cada nome de imagem. Por exemplo, a etiqueta para apigee-synchronizer é 1.11.2, conforme mostrado abaixo.

    1. Obtenha uma lista atualizada de todas as imagens no seu projeto atual com a opção --list do utilitário apigee-pull-push.sh no diretório apigeectl/tools/:
      apigee-pull-push.sh --list
    2. O resultado deve ter um aspeto semelhante ao seguinte:

      apigee:
              gcr.io/apigee-release/hybrid/apigee-mart-server:1.11.2
              gcr.io/apigee-release/hybrid/apigee-synchronizer:1.11.2
              gcr.io/apigee-release/hybrid/apigee-runtime:1.11.2
              gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra-client:1.11.2
              gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra:1.11.2
              gcr.io/apigee-release/hybrid/apigee-cassandra-backup-utility:1.11.2
              gcr.io/apigee-release/hybrid/apigee-udca:1.11.2
              gcr.io/apigee-release/hybrid/apigee-connect-agent:1.11.2
              gcr.io/apigee-release/hybrid/apigee-watcher:1.11.2
              gcr.io/apigee-release/hybrid/apigee-operators:1.11.2
              gcr.io/apigee-release/hybrid/apigee-installer:1.11.2
              gcr.io/apigee-release/hybrid/apigee-redis:1.11.2
              gcr.io/apigee-release/hybrid/apigee-diagnostics-collector:1.11.2
              gcr.io/apigee-release/hybrid/apigee-diagnostics-runner:1.11.2
              gcr.io/apigee-release/hybrid/apigee-mint-task-scheduler:1.11.2
      third party:
              gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:1.10.5
              gcr.io/apigee-release/hybrid/apigee-prom-prometheus:v2.52.0
              gcr.io/apigee-release/hybrid/apigee-stackdriver-prometheus-sidecar:0.9.0
              gcr.io/apigee-release/hybrid/apigee-kube-rbac-proxy:v0.18.0
              gcr.io/apigee-release/hybrid/apigee-envoy:v1.27.0
              gcr.io/apigee-release/hybrid/apigee-prometheus-adapter:v0.12.0
              gcr.io/apigee-release/hybrid/apigee-asm-ingress:1.18.7-asm.26-distroless
              gcr.io/apigee-release/hybrid/apigee-asm-istiod:1.18.7-asm.26-distroless
              gcr.io/apigee-release/hybrid/apigee-fluent-bit:3.0.3
      
    3. Extraia as imagens necessárias para os espaços de nomes apigee-system e apigee com o comando docker pull. Por exemplo:
      docker pull gcr.io/apigee-release/hybrid/apigee-installer:1.11.2

      A lista seguinte mostra as imagens necessárias para cada espaço de nomes:

      apigee-system espaço de nomes

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

      O seu espaço de nomes do 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
    4. Depois de extrair e etiquetar as imagens, carregue-as para o seu repositório privado. Consulte docker push.
  2. Crie um secret do Kubernetes nos espaços de nomes apigee e apigee-system.

    Se estes espaços de nomes não existirem no seu cluster, tem de os criar antes de realizar este passo.

    Para ver os passos para criar o segredo, consulte o artigo Crie um segredo fornecendo credenciais na linha de comandos. Por exemplo, para criar um segredo no espaço de nomes 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 criar um Secret no espaço de nomes 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. Adicione o segredo ao ficheiro overrides.yaml. A criação do ficheiro de substituições é descrita nos passos de instalação híbrida. Consulte o artigo Configure o cluster para ver detalhes.
    imagePullSecrets:
      - name: SECRET_NAME
  4. Atualize o ficheiro overrides.yaml com os URLs das imagens armazenadas no seu repositório privado. Cada componente armazenado no repositório tem um elemento image:url Use este elemento para especificar o URL de cada imagem do componente. Por exemplo:
    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

    Siga este padrão para atualizar cada componente híbrido de nível superior no seu ficheiro overrides.yaml com o URL da imagem do repositório privado. É fornecido um ficheiro de substituição de exemplo completo com a sua instalação híbrida no diretório $APIGEECTL_HOME/examples/private-overrides.yaml.

Agora, pode concluir uma nova instalação híbrida com as imagens privadas ou atualizar a instalação existente. Consulte os passos de instalação do Apigee hybrid para mais informações.

Instalar o cert-manager a partir de um repositório privado

Para instalar o cert-manager a partir do seu repositório privado, consulte o artigo Instalar com o Helm. É importante que instale a mesma versão do cert-manager conforme especificado nas instruções de instalação híbrida do Apigee para garantir a compatibilidade.