Passo 7: configure o tempo de execução híbrido

Especifique substituições de configuração

O instalador híbrido do Apigee usa predefinições para muitas definições. No entanto, existem algumas definições que não têm predefinições. Tem de fornecer valores para estas definições, conforme explicado em seguida.

  1. Certifique-se de que está no diretório hybrid-base-directory/hybrid-files/overrides/.
    cd hybrid-base-directory/hybrid-files/overrides
  2. Crie um novo ficheiro denominado overrides.yaml no seu editor de texto favorito. For example:
    vi overrides.yaml

    O overrides.yaml fornece a configuração para a sua instalação híbrida do Apigee exclusiva. O ficheiro de substituições neste passo fornece uma configuração básica para uma instalação de tempo de execução híbrido de pequena dimensão, adequada para a sua primeira instalação.

  3. Em overrides.yaml, adicione os valores das propriedades obrigatórias, apresentados abaixo. Também é fornecida uma descrição detalhada de cada propriedade abaixo:

    Sintaxe

    Certifique-se de que o ficheiro overrides.yaml tem a seguinte estrutura e sintaxe. Os valores em red, bold italics são valores de propriedades que tem de fornecer. Estão descritas na tabela abaixo.

    Existem diferenças entre as diferentes plataformas para a região do projeto do Google Cloud e a região do cluster do Kubernetes. Escolha a plataforma onde está a instalar o Apigee Hybrid.

    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"
      
    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
    
    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

    O exemplo seguinte mostra um ficheiro de substituições concluído com valores de propriedades 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, guarde o ficheiro.

A tabela seguinte descreve cada um dos valores das propriedades que tem de fornecer no ficheiro de substituições. Para mais informações, consulte a referência da propriedade de configuração.

Variável Descrição
analytics-region No GKE, tem de definir este valor para a mesma região onde o cluster está a ser executado. Em todas as outras plataformas, selecione a região de análise mais próxima do seu cluster que tenha suporte do Analytics (consulte a tabela no Passo 1, Passo 4: crie uma organização).

Este é o valor que atribuiu anteriormente à variável de ambiente ANALYTICS_REGION.

gcp-project-id Identifica o projeto do Google Cloud onde o apigee-logger e o apigee-metrics enviam os respetivos dados. Este é o valor atribuído à variável de ambiente PROJECT_ID.
cluster-name O nome do cluster do Kubernetes. Este é o valor atribuído à variável de ambiente CLUSTER_NAME.
cluster-location A região onde o cluster está a ser executado. Esta é a região onde criou o cluster no Passo 1: crie um cluster.

Este é o valor que atribuiu anteriormente à variável de ambiente CLUSTER_LOCATION.

org-name O ID da sua organização do Apigee Hybrid. Este é o valor atribuído à variável de ambiente ORG_NAME.
unique-instance-identifier

Uma string exclusiva para identificar esta instância. Pode ser qualquer combinação de letras e números com um máximo de 63 carateres.

Pode criar várias organizações no mesmo cluster, mas o instanceId tem de ser o mesmo para todas as organizações no mesmo cluster do Kubernetes.
environment-group-name O nome do grupo de ambientes ao qual os seus ambientes estão atribuídos. Este é o grupo que criou em Configuração do projeto e da organização – Passo 5: crie um grupo de ambientes. Este é o valor atribuído à variável de ambiente ENV_GROUP.
cert-name
key-name
Introduza o nome dos ficheiros de certificado e chave TLS autoassinados que gerou anteriormente no Passo 6: crie certificados TLS. Estes ficheiros têm de 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 que usou quando criou um ambiente na IU, conforme explicado em Configuração do projeto e da organização – Passo 5: crie um grupo de ambientes.
synchronizer-service-account-name Para ambientes de não produção, o nome da conta de serviço única, non-prod por predefinição. Para ambientes de produção, o nome do ficheiro de chave da conta de serviço que gerou com a ferramenta create-service-account no Hybrid runtime setup - Step 6: Create service accounts and credentials (Configuração do tempo de execução híbrido – passo 6: crie contas de serviço e credenciais).apigee-synchronizer Pode ver a lista de ficheiros de contas de serviço no diretório service-accounts/. Por exemplo:
ls ../service-accounts/
udca-service-account-name Para ambientes de não produção, o nome da conta de serviço única, non-prod por predefinição. Para ambientes de produção, o nome do ficheiro de chave da conta de serviço que gerou com a ferramenta create-service-account.apigee-udca
runtime-service-account-name Para ambientes de não produção, o nome da conta de serviço única, non-prod por predefinição. Para ambientes de produção, o nome do ficheiro de chave da conta de serviço que gerou com a ferramenta create-service-account.apigee-runtime
mart-service-account-name Para ambientes de não produção, o nome da conta de serviço única, non-prod por predefinição. Para ambientes de produção, o nome do ficheiro de chave da conta de serviço que gerou com a ferramenta create-service-account.apigee-mart
metrics-service-account-name Para ambientes de não produção, o nome da conta de serviço única, non-prod por predefinição. Para ambientes de produção, o nome do ficheiro de chave da conta de serviço que gerou com a ferramenta create-service-account.apigee-metrics
udca-service-account-name Para ambientes de não produção, o nome da conta de serviço única, non-prod por predefinição. Para ambientes de produção, o nome do ficheiro de chave da conta de serviço que gerou com a ferramenta create-service-account.apigee-udca
watcher-service-account-name Para ambientes de não produção, o nome da conta de serviço única, non-prod por predefinição. Para ambientes de produção, o nome do ficheiro de chave da conta de serviço que gerou com a ferramenta create-service-account.apigee-watcher
logger-service-account-name Para ambientes de não produção, o nome da conta de serviço única, non-prod por predefinição. Para ambientes de produção, o nome do ficheiro de chave da conta de serviço que gerou com a ferramenta create-service-account.apigee-logger

Resumo

O ficheiro de configuração indica ao Kubernetes como implementar os componentes híbridos num cluster. Em seguida, vai ativar o acesso do sincronizador para que os planos de gestão e de tempo de execução do Apigee possam comunicar.

1 2 3 4 5 6 7 (NEXT) Passo 8: ative o acesso do sincronizador 9