Especificar substituiçõ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.
Por convenção, as substituições de configuração são gravadas em um arquivo chamado overrides.yaml
em
seu diretório $HYBRID_FILES/overrides
.
- Crie um novo arquivo chamado
overrides.yaml
no diretório$HYBRID_FILES/overrides
. Por exemplo:vi $HYBRID_FILES/overrides/overrides.yaml
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: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. 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" 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 selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: ./certs/CERT_NAME.pem sslKeyPath: ./certs/KEY_NAME.key ao: args: # This configuration is introduced in hybrid v1.8 disableIstioConfigInAPIServer: true # This configuration is introduced in hybrid v1.8 ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 # You do not need to set Annotations or LoadBalancerIP if you are creating your own Kubernetes # service for ingress deployment. In prod, it's recommended to create your own Kubernetes service. # See: Expose Apigee ingress gateway. 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.
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.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.
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" 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 selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: ./certs/CERT_NAME.pem sslKeyPath: ./certs/KEY_NAME.key ao: args: # This configuration is introduced in hybrid v1.8 disableIstioConfigInAPIServer: true # This configuration is introduced in hybrid v1.8 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 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
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 selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key ao: args: disableIstioConfigInAPIServer: true 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, 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 |
---|---|
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
|
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
|
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 exclusiva para identificar a instância. 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 |
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 .
|
CERT_NAME KEY_NAME |
Digite o nome 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 base_directory/hybrid-files/certs .
Exemplo:
sslCertPath: ./certs/keystore.pem 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. As anotações são usadas pela
sua plataforma de nuvem para ajudar a configurar sua 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. |
SVC_LOAD_BALANCER_IP | (Opcional). 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. |
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 dos arquivos JSON da conta de serviço no diretório
service-accounts/ . Os nomes precisam incluir o caminho para o
arquivo da conta de serviço. Pode ser um caminho completo ou relativo ao seu
diretório hybrid-files/ . Se você incluir um caminho relativo, chame o
apigeectl , o comando para aplicar essa configuração, no
diretório hybrid-files/ .
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 É possível ver a lista de arquivos da conta de serviço
no diretório Os nomes padrão das contas de serviço do ambiente de produção são:
|
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 (PRÓXIMA) Etapa 7: Permita o acesso do sincronizador 8 9 10