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.
Antes de começar
Recomendamos que reveja os seguintes cenários para determinar se quer configurar o cluster para os mesmos. Estas configurações são opcionais.
- Se planeia instalar o híbrido em várias regiões, leia o artigo Implementação em várias regiões antes de continuar.
- O Apigee hybrid fornece palavras-passe predefinidas para os utilizadores do Cassandra. No entanto, recomendamos que altere as palavras-passe predefinidas dos utilizadores. Consulte o artigo Configurar o TLS para o Cassandra para ver detalhes.
- Se quiser configurar as definições de armazenamento e de memória dinâmica para o Cassandra, consulte o artigo Configure as definições de armazenamento e de memória dinâmica.
- Para cenários de instalação de produção, configure o armazenamento de disco de estado sólido (SSD) persistente para o Cassandra. Não suportamos a utilização de SSDs locais para o Apigee Hybrid. Para ver detalhes, consulte Adicione armazenamento SSD para implementações de produção.
Configure o cluster
Por convenção, as substituições de configuração são escritas num ficheiro denominado overrides.yaml no diretório $HYBRID_FILES/overrides.
- Crie um novo ficheiro denominado
overrides.yamlno diretório$HYBRID_FILES/overrides. Por exemplo:vi $HYBRID_FILES/overrides/overrides.yaml
O
overrides.yamlfornece a configuração para a sua instalação híbrida do Apigee exclusiva. O ficheiro de substituições neste passo oferece uma configuração básica para uma instalação de tempo de execução híbrida de pequena dimensão, adequada para a sua primeira instalação. - Em
overrides.yaml, adicione os valores das propriedades obrigatórias, apresentados abaixo. Abaixo, também encontra uma descrição detalhada de cada propriedade.Se estiver a instalar o Apigee Hybrid no GKE e planear usar o Workload Identity para autenticar componentes híbridos, selecione o separador GKE – Workload Identity para configurar o ficheiro
overrides.yaml.Para todas as outras instalações, selecione o separador para ambientes de não produção, Non-prod, ou de produção, Prod, consoante a sua escolha no Passo 4: crie contas de serviço e credenciais.
Para instalações em ambientes de produção, consulte os requisitos de armazenamento da base de dados Cassandra em Configure o Cassandra para produção.
GKE – Workload Identity
Certifique-se de que o ficheiro
overrides.yamltem a seguinte estrutura e sintaxe. Os valores em red, bold italics são valores de propriedades que tem de fornecer. Estão descritos na tabela abaixo.Se estiver a instalar o Apigee Hybrid no GKE, tem uma alternativa para autenticar e fazer pedidos às APIs Google, o Workload Identity. Para ver descrições gerais do Workload Identity, consulte:
- Apresentamos o Workload Identity: melhor autenticação para as suas aplicações do GKE
- Usar o Workload Identity
Para usar a Workload Identity com o Apigee hybrid no GKE, use este modelo e, em seguida, siga os passos no Passo 8: instale o tempo de execução híbrido para criar as contas de serviço do Kubernetes e associá-las às contas de serviço Google que criou no Passo 4: crie contas de serviço e credenciais.
gcp: region: ANALYTICS_REGION projectID: GCP_PROJECT_ID workloadIdentityEnabled: true k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. org: ORG_NAME instanceID: "UNIQUE_INSTANCE_IDENTIFIER" ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1" # Required for Apigee hybrid v1.10.5 cassandra: hostNetwork: false # false for all GKE installations. # See Multi-region deployment: Prerequisites replicaCount: 3 # Use 1 for demo installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. backup: enabled: true # Set to true for initial installation. # This triggers apigeectl to create the apigee-cassandra-backup Kubernetes service account. # See Cassandra backup overview for instructions on using cassandra.backup. virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: ./certs/CERT_NAME.pem sslKeyPath: ./certs/KEY_NAME.key ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional envs: - name: ENVIRONMENT_NAME logger: enabled: false # Set to false for all GKE installations.Não prod
Certifique-se de que o ficheiro
overrides.yamltem a seguinte estrutura e sintaxe. Os valores em red, bold italics são valores de propriedades que tem de fornecer. Estão descritos 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" ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1" # Required for Apigee hybrid v1.10.5 cassandra: replicaCount: 1 # Use 1 for non-prod or "demo" installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. 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 selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: ./certs/CERT_NAME.pem sslKeyPath: ./certs/KEY_NAME.key ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional envs: - name: ENVIRONMENT_NAME serviceAccountPaths: synchronizer: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-non-prod.json" udca: NON_PROD_SERVICE_ACCOUNT_FILEPATH runtime: NON_PROD_SERVICE_ACCOUNT_FILEPATH mart: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH connectAgent: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH metrics: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH udca: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH watcher: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH 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: NON_PROD_SERVICE_ACCOUNT_FILEPATHProd
Certifique-se de que o ficheiro
overrides.yamltem a seguinte estrutura e sintaxe. Os valores em red, bold italics são valores de propriedades que tem de fornecer. Estão descritos 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" ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1" # Required for Apigee hybrid v1.10.5 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 replicaCount: 3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. 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 selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: ./certs/CERT_NAME.pem sslKeyPath: ./certs/KEY_NAME.key ingressGateways: - name: INGRESS_NAME # maximum 17 characters. See Known issue 243167389. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE envs: - name: ENVIRONMENT_NAME serviceAccountPaths: synchronizer: SYNCHRONIZER_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-synchronizer.json" udca: UDCA_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-udca.json" runtime: RUNTIME_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-runtime.json" mart: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-mart.json" connectAgent: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # Use the same service account for mart and connectAgent metrics: serviceAccountPath: METRICS_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-metrics.json" udca: serviceAccountPath: UDCA_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-udca.json" watcher: serviceAccountPath: WATCHER_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/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: LOGGER_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/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" ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1" # Required for Apigee hybrid v1.10.5 cassandra: hostNetwork: false replicaCount: 3 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 envs: - name: test serviceAccountPaths: synchronizer: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-synchronizer.json udca: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-udca.json runtime: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-runtime.json mart: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-mart.json connectAgent: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, example-hybrid-apigee-mart.json metrics: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-metrics.json udca: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-udca.json watcher: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-watcher.json logger: enabled: false # Set to "false" for GKE. Set to "true" for all other Kubernetes platforms. serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, LOGGER_SERVICE_ACCOUNT_NAME.json - 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 estatísticas mais próxima do seu cluster que tenha suporte do Analytics (consulte a tabela na Parte 1, Passo 2: crie uma organização).
Este é o valor que atribuiu anteriormente à variável de ambiente |
| 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 |
| 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
|
| 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 3: 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 5: 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 |
| INGRESS_NAME | O nome da gateway de entrada do Apigee para a sua implementação. Pode ser qualquer nome que cumpra
os seguintes requisitos:
Consulte |
| SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE | (Opcional). Este é um par de chave-valor que fornece
anotações para o seu serviço de entrada predefinido. As anotações são usadas pela sua plataforma na nuvem para ajudar a configurar a instalação híbrida, por exemplo, definindo o tipo de balanceador de carga como interno ou externo.
As anotações variam de plataforma para plataforma. Consulte a documentação da plataforma para ver as anotações necessárias e sugeridas. Comente ou elimine esta secção se não a estiver a usar. |
| SVC_LOAD_BALANCER_IP | (Opcional). Um endereço IP que reservou para o seu equilibrador de carga.
Em plataformas que suportam a especificação do endereço IP do balanceador de carga, o balanceador de carga é criado com este endereço IP.
Nas plataformas que não lhe permitem especificar o IP do equilibrador de carga,
esta propriedade é ignorada.
Comente ou elimine esta secção se não a estiver a usar. |
| 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 3: crie um grupo de ambientes. |
| *_SERVICE_ACCOUNT_FILEPATH | O caminho e o nome de ficheiro da conta dos ficheiros JSON da conta de serviço no seu diretório service-accounts/. Os nomes têm de incluir o caminho para o ficheiro da conta de serviço. Pode ser um caminho completo ou o caminho relativo ao seu diretório hybrid-files/. Se incluir um caminho relativo, tem de chamar apigeectl, o comando para aplicar esta configuração, a partir do diretório hybrid-files/.
Para ambientes de não produção, o nome da conta de serviço única é
Para ambientes de produção, o nome do ficheiro de chave da conta de serviço
que gerou com a ferramenta Pode ver a lista de ficheiros de contas de serviço no diretório
Os nomes predefinidos das contas de serviço do ambiente de produção são:
|
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 (NEXT) Passo 7: ative o acesso do sincronizador 8 9 10 11