Especificar substituições de configuração
O instalador da Apigee híbrida usa padrões para muitas configurações. No entanto, algumas configurações não têm padrões. É preciso fornecer valores para essas configurações, conforme explicado a seguir.
Antes de começar
Recomendamos que você analise os cenários a seguir para determinar se quer configurar o cluster para eles. Essas configurações são opcionais.
- Se você planeja instalar um ambiente híbrido em várias regiões, leia o artigo Implantação multirregional antes de continuar.
- A Apigee híbrida fornece senhas padrão para os usuários do Cassandra. A Apigee recomenda mudar as senhas de usuário padrão. Consulte Como configurar o TLS para o Cassandra para saber mais.
- Para definir as configurações de armazenamento e heap do Cassandra, consulte Definir configurações de armazenamento e heap.
- Conforme descrito na Parte 1: configuração do projeto e da organização — Etapa 1: ativar APIs, para cenários de instalação em produção, configure o disco de estado sólido (SSD) permanente para o Cassandra. A Apigee não oferece suporte ao uso de SSDs locais para a Apigee híbrida. Para mais detalhes, consulte Adicionar armazenamento SSD para implantações de produção.
Configurar o cluster
Por convenção, as substituições de configuração são gravadas em um arquivo chamado overrides.yaml
, normalmente armazenado no diretório $APIGEE_HELM_CHARTS_HOME
.
- Crie um novo arquivo chamado
overrides.yaml
no diretório$APIGEE_HELM_CHARTS_HOME
.O
overrides.yaml
fornece a configuração para sua instalação híbrida exclusiva da Apigee. O arquivo de substituição 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. - Em
overrides.yaml
, adicione os valores de propriedade obrigatórios, mostrados abaixo. Veja abaixo uma descrição detalhada de cada propriedade.Selecione a guia de instalação, produção, Produção ou não produção (instalações de prova de conceito, demonstração ou avaliação), Não produção, dependendo de sua escolha na Etapa 4: criar contas de serviço.
Para instalações em ambientes de produção, consulte os requisitos de armazenamento do banco de dados Cassandra em Configurar o Cassandra para produção.
Se você estiver instalando a Apigee híbrida no GKE e planeja usar a Identidade da carga de trabalho para autenticar componentes híbridos, selecione a guia Produção: identidade da carga de trabalho ou Não produção: identidade da carga de trabalho para configurar o arquivo
overrides.yaml
.Produção
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. Você pode editar os valores nesta página. 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.
instanceID: "UNIQUE_INSTANCE_IDENTIFIER" namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. org: ORG_NAME envs: - name: ENVIRONMENT_NAME serviceAccountPaths: # Provide the path relative to the chart directory. synchronizer: SYNCHRONIZER_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-synchronizer.json" runtime: RUNTIME_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-runtime.json" udca: UDCA_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-udca.json" 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. 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 virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # For example: "apigee-org/PROJECT_ID-apigee-mart.json" connectAgent: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # Use the same service account for mart and connectAgent # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-mart.json" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: LOGGER_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-logger.json" metrics: serviceAccountPath: METRICS_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-metrics.json" udca: serviceAccountPath: UDCA_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-udca.json" watcher: serviceAccountPath: WATCHER_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-watcher.json"
Sem produção
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. Você pode editar os valores nesta página. 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.
instanceID: "UNIQUE_INSTANCE_IDENTIFIER" namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. org: ORG_NAME envs: - name: ENVIRONMENT_NAME serviceAccountPaths: # Provide the path relative to the chart directory. synchronizer: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-non-prod.json" runtime: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-non-prod.json" udca: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-non-prod.json" 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: 1 # Use 1 for non-prod or "demo" installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. 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 virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" connectAgent: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # Use the same service account for mart and connectAgent # For example: "PROJECT_ID-apigee-non-prod.json" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" metrics: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" udca: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" watcher: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-non-prod.json"
Produção: identidade da carga de trabalho
Este modelo é para instalações de produção no GKE usando a Identidade da carga de trabalho. 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. Você pode editar os valores nesta página. Eles estão descritos na tabela abaixo.Se você está instalando a Apigee híbrida no GKE, tem uma alternativa para autenticar e fazer solicitações para as APIs do Google, Identidade da carga de trabalho. Para visões gerais da Identidade da carga de trabalho, consulte:
- Introdução à Identidade da carga de trabalho: autenticação aprimorada para seus aplicativos do GKE
- Como usar a Identidade da carga de trabalho
Para usar a Identidade da carga de trabalho com a Apigee híbrida no GKE, use este modelo e siga as instruções da Etapa 11: instalar a Apigee híbrida usando gráficos do Helm para criar as contas de serviço do Kubernetes e associá-las às contas de serviço do Google que você criou na Etapa 4: criar contas de serviço.
instanceID: "UNIQUE_INSTANCE_IDENTIFIER" namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: true k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. org: ORG_NAME envs: - name: ENVIRONMENT_NAME gsa: synchronizer: "SYNCHRONIZER_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-synchronizer@PROJECT_ID.iam.gserviceaccount.com" runtime: "RUNTIME_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-runtime@PROJECT_ID.iam.gserviceaccount.com" udca: "UDCA_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-udca@PROJECT_ID.iam.gserviceaccount.com" 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. backup: enabled: true # Set to true for initial installation. # This triggers the chart to create the apigee-cassandra-backup Kubernetes service account when you install it. # See Cassandra backup overview for instructions on using cassandra.backup. 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 virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: gsa: "MART_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-mart@PROJECT_ID.iam.gserviceaccount.com" connectAgent: gsa: "MART_SERVICE_ACCOUNT_EMAIL" # Use the same service account for mart and connectAgent # For example: "apigee-mart@PROJECT_ID.iam.gserviceaccount.com" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. gsa: "LOGGER_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-logger@PROJECT_ID.iam.gserviceaccount.com" metrics: gsa: "METRICS_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-metrics@PROJECT_ID.iam.gserviceaccount.com" udca: gsa: "UDCA_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-udca@PROJECT_ID.iam.gserviceaccount.com" watcher: gsa: "WATCHER_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-watcher@PROJECT_ID.iam.gserviceaccount.com"
Não produção: identidade da carga de trabalho
Este modelo é para instalações que não são de produção no GKE usando a Identidade da carga de trabalho. 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. Você pode editar os valores nesta página. Eles estão descritos na tabela abaixo.Se você está instalando a Apigee híbrida no GKE, tem uma alternativa para autenticar e fazer solicitações para as APIs do Google, Identidade da carga de trabalho. Para visões gerais da Identidade da carga de trabalho, consulte:
- Introdução à Identidade da carga de trabalho: autenticação aprimorada para seus aplicativos do GKE
- Como usar a Identidade da carga de trabalho
Para usar a Identidade da carga de trabalho com a Apigee híbrida no GKE, use este modelo e siga as instruções da Etapa 11: instalar a Apigee híbrida usando gráficos do Helm para criar as contas de serviço do Kubernetes e associá-las às contas de serviço do Google que você criou na Etapa 4: criar contas de serviço.
instanceID: "UNIQUE_INSTANCE_IDENTIFIER" namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: true gsa: "NON_PROD_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-non-prod@PROJECT_ID.iam.gserviceaccount.com" 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: 1 # Use 1 for non-prod or "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 the chart to create the apigee-cassandra-backup Kubernetes service account when you install it. # See Cassandra backup overview for instructions on using cassandra.backup. virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE 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.
Exemplo
No exemplo a seguir, mostramos um arquivo de modificações concluído com valores de propriedade de exemplo adicionados:
instanceID: "my_hybrid_example" namespace: apigee gcp: projectID: hybrid-example region: us-central1 k8sCluster: name: apigee-hybrid region: us-central1 org: hybrid-example envs: - name: test serviceAccountPaths: synchronizer:my-hybrid-project-apigee-synchronizer.json runtime: my-hybrid-project-apigee-runtime.json udca: my-hybrid-project-apigee-udca.json cassandra: hostNetwork: false replicaCount: 3 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key logger: enabled: true # Set to "false" for GKE. Set to "true" for all other Kubernetes platforms. serviceAccountPath: apigee-telemetry/my-hybrid-project-apigee-logger.json mart: serviceAccountPath: my-hybrid-project-apigee-mart.json connectAgent: serviceAccountPath: my-hybrid-project-apigee-mart.json metrics: serviceAccountPath: my-hybrid-project-apigee-metrics.json udca: serviceAccountPath: my-hybrid-project-apigee-udca.json watcher: serviceAccountPath: my-hybrid-project-apigee-watcher.json
- Quando terminar, salve o arquivo.
A tabela a seguir descreve cada um dos valores de propriedade que você precisa fornecer no arquivo de substituição. Para mais informações, consulte Referência da propriedade de configuração.
Variável | Descrição | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
UNIQUE_INSTANCE_IDENTIFIER | Uma string exclusiva para identificar a instância. O código pode ser qualquer combinação de letras e números com até 63 caracteres. É possível criar várias organizações no mesmo cluster, mas o |
|||||||||||||||||||||||||||
APIGEE_NAMESPACE | O namespace do Kubernetes para seus componentes da Apigee híbrida. O valor padrã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 2: criar uma organização.
Este é o valor atribuído anteriormente à variável de ambiente
|
|||||||||||||||||||||||||||
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
|
|||||||||||||||||||||||||||
ORG_NAME | É o ID da sua organização da Apigee híbrida. Esse é o valor atribuído à
variável de ambiente ORG_NAME . |
|||||||||||||||||||||||||||
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 3: criar um grupo de ambiente. Esse é o valor atribuído à
variável de ambiente ENV_GROUP .
|
|||||||||||||||||||||||||||
PATH_TO_CERT_FILE PATH_TO_KEY_FILE |
Digite o caminho e o nome de arquivo da chave TLS autoassinado e dos arquivos de certificado
gerados anteriormente na
Etapa 5: criar certificados TLS. Esses arquivos precisam estar localizados
no diretório APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs .
Exemplo:
sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key |
|||||||||||||||||||||||||||
INGRESS_NAME | O nome do gateway de entrada da Apigee para sua implantação. Pode ser qualquer nome que atenda
aos seguintes requisitos:
Consulte |
|||||||||||||||||||||||||||
SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE | (Opcional). Esse é um par de chave-valor que fornece
anotações para o serviço de entrada padrão. A plataforma de nuvem usa anotações 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 acordo com a plataforma. Consulte a documentação da sua plataforma para ver anotações obrigatórias e sugeridas. Comente ou exclua esta seção se você não a estiver usando. |
|||||||||||||||||||||||||||
SVC_LOAD_BALANCER_IP | (Opcional). Um endereço IP que você reservou para seu balanceador de carga.
Nas plataformas compatíveis com a especificação do endereço IP do balanceador
de carga, o balanceador de carga será criado com esse endereço IP.
Nas plataformas que não permitem especificar o IP do balanceador de carga,
essa propriedade é ignorada.
Comente ou exclua esta seção se você não a estiver usando. | |||||||||||||||||||||||||||
ENVIRONMENT_NAME | Use o mesmo nome usado para criar um ambiente na IU, conforme explicado em Configuração de projeto e organização - Etapa 3: criar um grupo de ambiente. | |||||||||||||||||||||||||||
*_SERVICE_ACCOUNT_FILEPATH | A conta do caminho e do nome de arquivo dos arquivos JSON da conta de serviço no
diretório de gráfico correspondente. Forneça os nomes com o caminho relativo para o diretório do
gráfico. Exemplo:
Em ambientes de não produção, o nome da conta de serviço única é
Para ambientes de produção, o nome do arquivo de chave
da conta de serviço que você gerou com a ferramenta É possível ver os arquivos da conta de serviço em cada diretório de gráfico correspondente. Os nomes padrão dos diretórios de gráficos correspondentes das contas de serviço são:
|
|||||||||||||||||||||||||||
*_SERVICE_ACCOUNT_EMAIL | Os endereços de e-mail das contas de serviço do Google (GSA) que você precisa
fornecer se estiver usando a Identidade da carga de trabalho no GKE.
Estas são as contas que você criou na
Etapa 4: criar contas de serviço.
Para encontrar os endereços de e-mail das contas de serviço, use o seguinte comando:
gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee" |
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.