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 a seguir.
Antes de começar
Recomendamos que reveja os seguintes cenários para determinar se quer configurar o seu cluster para eles. Estas configurações são opcionais.
- Se planeia instalar o híbrido em várias regiões, leia o artigo Implementação multirregional 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.yaml
no diretório$HYBRID_FILES/overrides
. Por exemplo:vi $HYBRID_FILES/overrides/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 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 tiver ativado o Workload Identity nos seus node pools no Passo 1: crie um cluster, selecione o separador GKE – Workload Identity para configurar o ficheiro
overrides.yaml
de modo a usar o Workload Identity.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.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.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 identidade de carga de trabalho 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" 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.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: 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_FILEPATH
Prod
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 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" 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 indicar 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 sua 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 obrigató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 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