Etapa 7: configurar o ambiente de execução híbrido

Especificar modificações de configuração

O instalador híbrido da Apigee usa padrões para muitas configurações. No entanto, existem algumas configurações sem padrões. É preciso fornecer valores para essas configurações, conforme explicado a seguir.

  1. Verifique se você está no diretório hybrid-base-directory/hybrid-files/overrides/.
    cd hybrid-base-directory/hybrid-files/overrides
  2. Crie um novo arquivo chamado overrides.yaml em seu editor de texto favorito. Por exemplo:
    vi overrides.yaml

    O overrides.yaml fornece a configuração para sua instalação híbrida exclusiva da Apigee. O arquivo de modificações nesta etapa fornece uma configuração básica para uma instalação de tempo de execução híbrido de pouco espaço, adequada para sua primeira instalação.

  3. Em overrides.yaml, adicione os valores de propriedade obrigatórios, mostrados abaixo. Veja abaixo uma descrição detalhada de cada propriedade:

    Para instalações em ambientes de produção, consulte os requisitos de armazenamento do banco de dados do Cassandra em Configurar o Cassandra para produção.

    Sintaxe

    Verifique se o arquivo overrides.yaml tem a seguinte estrutura e sintaxe: Os valores em red, bold italics são valores de propriedade que você precisa fornecer. Eles estão descritos na tabela abaixo.

    Há diferenças entre as diferentes plataformas dependendo da região do projeto do Google Cloud e a região do cluster do Kubernetes. Escolha a plataforma em que você está instalando o Apigee híbrido.

    gcp:
      region: analytics-region
      projectID: gcp-project-id
    
    k8sCluster:
      name: cluster-name
      region: cluster-location # Must be the closest Google Cloud region to your cluster.
    org: org-name
    
    instanceID: "unique-instance-identifier"  # See the property description table below information about this parameter.
      
    cassandra:
      hostNetwork: false
        # Set to false for single region installations and multi-region installations
        # with connectivity between pods in different clusters, for example GKE installations.
        # Set to true  for multi-region installations with no communication between
        # pods in different clusters, for example GKE On-prem, GKE on AWS, Anthos on bare metal,
        # AKS, EKS, and OpenShift installations.
        # See Multi-region deployment: Prerequisites
      storage:
        capacity: 500Gi
      resources:
        requests:
          cpu: 7
          memory: 15Gi
      maxHeapSize: 8192M
      heapNewSize: 1200M
        # Minimum storage requirements for a production environment.
        # See Configure Cassandra for production.
    
    virtualhosts:
      - name: environment-group-name
        sslCertPath: ./certs/cert-name.pem
        sslKeyPath: ./certs/key-name.key
    
    envs:
      - name: environment-name
        serviceAccountPaths:
          synchronizer: ./service-accounts/synchronizer-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-synchronizer.json
          udca: ./service-accounts/udca-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-udca.json
          runtime: ./service-accounts/runtime-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-runtime.json
    
    mart:
      serviceAccountPath: ./service-accounts/mart-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-mart.json
    
    connectAgent:
      serviceAccountPath: ./service-accounts/mart-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-mart.json
            # Use the same service account for mart and connectAgent
    
    metrics:
      serviceAccountPath: ./service-accounts/metrics-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-metrics.json
    
    udca:
      serviceAccountPath: ./service-accounts/udca-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-udca.json
    
    watcher:
      serviceAccountPath: ./service-accounts/watcher-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-watcher.json
    
    logger:
      enabled: false
            # Set to false to disable logger for GKE installations.
            # Set to true for all platforms other than GKE.
            # See apigee-logger in Service accounts and roles used by hybrid components.
      serviceAccountPath: ./service-accounts/logger-service-account-name.json
            # for non-production environments, gcp-project-id-apigee-non-prod.json
            # for production environments, gcp-project-id-apigee-logger.json
    
    

    Exemplo

    No exemplo a seguir, mostramos um arquivo de modificações concluído com valores de propriedade de exemplo adicionados:

    gcp:
      region: us-central1
      projectID: hybrid-example
    
    k8sCluster:
      name: apigee-hybrid
      region: us-central1
    
    org: hybrid-example
    
    instanceID: "my_hybrid_example"
      
    cassandra:
      hostNetwork: false
    
    virtualhosts:
      - name: example-env-group
        sslCertPath: ./certs/keystore.pem
        sslKeyPath: ./certs/keystore.key
    
    envs:
      - name: test
        serviceAccountPaths:
          synchronizer: ./service-accounts/hybrid-project-apigee-non-prod.json
            # for production environments, hybrid-project-apigee-synchronizer.json
          udca: ./service-accounts/hybrid-project-apigee-non-prod.json
            # for production environments, hybrid-project-apigee-udca.json
          runtime: ./service-accounts/hybrid-project-apigee-non-prod.json
            # for production environments, hybrid-project-apigee-runtime.json
    
    mart:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-mart.json
    
    connectAgent:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, example-hybrid-apigee-mart.json
    
    metrics:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-metrics.json
    
    udca:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-udca.json
    
    watcher:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, hybrid-project-apigee-watcher.json
    
    logger:
      enabled: false # Set to "false" for GKE. Set to "true" for all other kubernetes platforms.
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json
        # for production environments, logger-service-account-name.json
    
    
  4. Quando terminar, salve o arquivo.

A tabela a seguir descreve cada um dos valores de propriedade que você precisa fornecer no arquivo de modificações. Para mais informações, consulte Referência da propriedade de configuração.

Variável Descrição
analytics-region No GKE, defina esse valor como a mesma região em que o cluster está em execução. Em todas as outras plataformas, selecione a região de análise mais próxima ao seu cluster que seja compatível com o Analytics. Consulte a tabela na Parte 1, etapa 4: criar uma organização.

Este é o valor atribuído anteriormente à variável de ambiente ANALYTICS_REGION.

gcp-project-id Identifica o projeto do Google Cloud em que apigee-logger e apigee-metrics enviam os dados. Esse é o valor atribuído à variável de ambiente PROJECT_ID.
cluster-name O nome do cluster do Kubernetes. Esse é o valor atribuído à variável de ambiente CLUSTER_NAME.
cluster-location A região em que o cluster está em execução. Esta é a região em que você criou o cluster na Etapa 1: criar um cluster.

Este é o valor atribuído anteriormente à variável de ambiente CLUSTER_LOCATION.

org-name É o ID da sua organização da Apigee híbrida. Esse é o valor atribuído à variável de ambiente ORG_NAME.
unique-instance-identifier

Uma string única para identificar essa instância híbrida da Apigee por cluster. A string pode ser uma combinação de letras e números com até 63 caracteres.

  • É possível criar várias organizações em um único cluster. Use o mesmo valor instanceID sempre que adicionar uma nova organização ao mesmo cluster.
  • Se você tiver vários clusters (na mesma região ou em várias regiões), cada cluster exigirá um instanceID exclusivo.

Se precisar de ajuda para gerar um ID exclusivo, use uma ferramenta de geração de strings aleatória, como random.org/strings.

environment-group-name Nome do grupo a que os ambientes são atribuídos. Este é o grupo que você criou em Configuração do projeto e da organização - Etapa 5: criar um grupo de ambiente. Esse é o valor atribuído à variável de ambiente ENV_GROUP.
cert-name
key-name
Digite o nome da chave TLS autoassinado e dos arquivos de certificado gerados anteriormente na Etapa 6: criar certificados TLS. Esses arquivos precisam estar localizados no diretório base_directory/hybrid-files/certs. Por exemplo:
sslCertPath: ./certs/keystore.pem
sslKeyPath: ./certs/keystore.key
environment-name Use o mesmo nome usado para criar um ambiente na IU, conforme explicado em Configuração de projeto e organização - Etapa 5: criar um grupo de ambiente.
synchronizer-service-account-name Em ambientes de não produção, o nome da conta de serviço única, non-prod por padrão. Para ambientes de produção, o nome do arquivo de chave da conta de serviço apigee-synchronizer que você gerou com a ferramenta create-service-account na Configuração de ambiente de execução híbrido - Etapa 6: criar contas de serviço e credenciais. É possível ver a lista de arquivos da conta de serviço no diretório service-accounts/. Por exemplo:
ls ../service-accounts/
udca-service-account-name Em ambientes de não produção, o nome da conta de serviço única, non-prod por padrão. Para ambientes de produção, o nome do arquivo de chave da conta de serviço apigee-udca que você gerou com a ferramenta create-service-account.
runtime-service-account-name Em ambientes de não produção, o nome da conta de serviço única, non-prod por padrão. Para ambientes de produção, o nome do arquivo de chave da conta de serviço apigee-runtime que você gerou com a ferramenta create-service-account.
mart-service-account-name Em ambientes de não produção, o nome da conta de serviço única, non-prod por padrão. Para ambientes de produção, o nome do arquivo de chave da conta de serviço apigee-mart que você gerou com a ferramenta create-service-account.
metrics-service-account-name Em ambientes de não produção, o nome da conta de serviço única, non-prod por padrão. Para ambientes de produção, o nome do arquivo de chave da conta de serviço apigee-metrics que você gerou com a ferramenta create-service-account.
udca-service-account-name Em ambientes de não produção, o nome da conta de serviço única, non-prod por padrão. Para ambientes de produção, o nome do arquivo de chave da conta de serviço apigee-udca que você gerou com a ferramenta create-service-account.
watcher-service-account-name Em ambientes de não produção, o nome da conta de serviço única, non-prod por padrão. Para ambientes de produção, o nome do arquivo de chave da conta de serviço apigee-watcher que você gerou com a ferramenta create-service-account.
logger-service-account-name Em ambientes de não produção, o nome da conta de serviço única, non-prod por padrão. Para ambientes de produção, o nome do arquivo de chave da conta de serviço apigee-logger que você gerou com a ferramenta create-service-account.

Resumo

O arquivo de configuração informa ao Kubernetes como implantar os componentes híbridos em um cluster. Em seguida, ative o acesso do sincronizador para que os planos de ambiente de execução e gerenciamento da Apigee possam se comunicar.

1 2 3 4 5 6 7 (A SEGUIR) Etapa 8: ativar o acesso do sincronizador 9