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.
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 é fornecida uma descrição detalhada de cada propriedade: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 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" 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
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 descritos na tabela abaixo.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.
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 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
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 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, 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. |
SVC_LOAD_BALANCER_IP | (Opcional). 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. |
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