Especifica anulaciones de configuración
El instalador híbrido de Apigee usa los valores predeterminados para muchos parámetros de configuración. Sin embargo, hay algunos parámetros de configuración que no tienen valores predeterminados. Debes proporcionar valores para estos parámetros de configuración, como se explica a continuación.
Antes de comenzar
Te recomendamos que revises las siguientes situaciones para determinar si deseas configurar tu clúster en función de ellas. Estas configuraciones son opcionales.
- Si planeas instalar Hybrid en varias regiones, lee Implementación multirregional antes de continuar.
- Apigee Hybrid proporciona contraseñas predeterminadas para los usuarios de Cassandra. Apigee recomienda cambiar las contraseñas de usuario predeterminadas. Consulta Cómo configurar TLS para Cassandra para obtener más detalles.
- Si deseas establecer la configuración de almacenamiento y montón para Cassandra, consulta Establece la configuración de almacenamiento y de montón.
- Como se describe en la Parte 1: Configuración del proyecto y de la organización -- Paso 1: Habilita las APIs, para situaciones de instalación de producción, configura el almacenamiento de disco de estado sólido (SSD) persistente para Cassandra. Apigee no admite el uso de SSD locales para Apigee Hybrid. Si deseas obtener detalles, consulta Agrega almacenamiento SSD para implementaciones de producción.
Configura el clúster
Por convención, las anulaciones de configuración se escriben en un archivo llamado overrides.yaml
, que se suele almacenar en el directorio $APIGEE_HELM_CHARTS_HOME
.
- Crea un archivo nuevo llamado
overrides.yaml
en el directorio$APIGEE_HELM_CHARTS_HOME
.El
overrides.yaml
proporciona la configuración para tu instalación única de Apigee Hybrid. El archivo de anulación en este paso proporciona una configuración básica para una instalación de entorno de ejecución híbrido de tamaño reducido, adecuado para tu primera instalación. - En
overrides.yaml
, agrega los valores de propiedad necesarios, que se muestran a continuación. Se proporciona una descripción detallada de cada propiedad.Selecciona la pestaña de instalación, producción, Producción o no producción (instalaciones de demostración, evaluación o prueba de concepto), No producción según tu elección en el Paso 4: Crear cuentas de servicio.
Para las instalaciones en entornos de producción, consulta los requisitos de almacenamiento de la base de datos de Cassandra en Configura Cassandra para la producción.
Si instalas Apigee Hybrid en GKE y planeas usar Workload Identity para autenticar los componentes híbridos, selecciona Producción: Workload Identity o No producción: WorkloadIdentity para configurar tu archivo
overrides.yaml
.Producción
Asegúrate de que el archivo
overrides.yaml
tenga la siguiente estructura y sintaxis. Los valores en red, bold italics son los valores de propiedad que debes proporcionar. Puedes editar sus valores en esta página. Se describen en la siguiente tabla.Existen diferencias entre las diferentes plataformas para la región del proyecto de Google Cloud y la región del clúster de Kubernetes. Elige la plataforma en la que instalarás Apigee Hybrid.
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"
No producción
Asegúrate de que el archivo
overrides.yaml
tenga la siguiente estructura y sintaxis. Los valores en red, bold italics son los valores de propiedad que debes proporcionar. Puedes editar sus valores en esta página. Se describen en la siguiente tabla.Existen diferencias entre las diferentes plataformas para la región del proyecto de Google Cloud y la región del clúster de Kubernetes. Elige la plataforma en la que instalarás Apigee Hybrid.
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"
Producción: Workload Identity
Esta plantilla es para las instalaciones de producción en GKE con Workload Identity. Asegúrate de que el archivo
overrides.yaml
tenga la siguiente estructura y sintaxis. Los valores en red, bold italics son los valores de propiedad que debes proporcionar. Puedes editar sus valores en esta página. Se describen en la siguiente tabla.Si instalas Apigee Hybrid en GKE, tienes una alternativa para autenticar y realizar solicitudes a las APIs de Google, Workload Identity. Para obtener descripciones generales de Workload Identity, consulta lo siguiente:
- Presentación de Workload Identity: La mejor autenticación para las aplicaciones de GKE
- Usa Workload Identity
Para usar Workload Identity con Apigee Hybrid en GKE, usa esta plantilla y, luego, sigue los pasos del Paso 11: Instala Apigee Hybrid mediante gráficos de Helm para crear las cuentas de servicio de Kubernetes y asociarlas con las cuentas de servicio de Google que creaste en el Paso 4: Crea cuentas de servicio.
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"
No producción: Workload Identity
Esta plantilla es para las instalaciones de no producción en GKE que usan Workload Identity. Asegúrate de que el archivo
overrides.yaml
tenga la siguiente estructura y sintaxis. Los valores en red, bold italics son los valores de propiedad que debes proporcionar. Puedes editar sus valores en esta página. Se describen en la siguiente tabla.Si instalas Apigee Hybrid en GKE, tienes una alternativa para autenticar y realizar solicitudes a las APIs de Google, Workload Identity. Para obtener descripciones generales de Workload Identity, consulta lo siguiente:
- Presentación de Workload Identity: La mejor autenticación para las aplicaciones de GKE
- Usa Workload Identity
Para usar Workload Identity con Apigee Hybrid en GKE, usa esta plantilla y, luego, sigue los pasos del Paso 11: Instala Apigee Hybrid mediante gráficos de Helm para crear las cuentas de servicio de Kubernetes y asociarlas. Con las cuentas de servicio de Google que creaste en el Paso 4: Crea cuentas de servicio.
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.
Ejemplo
En el ejemplo siguiente, se muestra un archivo de anulación completo con valores de propiedad de ejemplo agregados:
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
- Cuando termines, guarda el archivo.
En la siguiente tabla, se describe cada uno de los valores de propiedad que debes proporcionar en el archivo de anulación. Para obtener más información, consulta Referencia de la propiedad de configuración.
Variable | Descripción | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
UNIQUE_INSTANCE_IDENTIFIER | Una string única para identificar esta instancia. Puede ser cualquier combinación de letras y números de hasta 63 caracteres. Puedes crear varias organizaciones en el mismo clúster, pero el |
|||||||||||||||||||||||||||
APIGEE_NAMESPACE | El espacio de nombres de Kubernetes para tus componentes de Apigee Hybrid. El valor predeterminado es |
|||||||||||||||||||||||||||
ANALYTICS_REGION | En GKE, debe establecer este valor en la misma región donde se ejecuta el clúster. En todas las demás plataformas, selecciona la región de estadísticas más cercana a tu clúster, que admite Analytics (consulta la tabla en la Parte 1: Paso 2, crea una organización.
Corresponde al valor que asignaste anteriormente a la variable de entorno |
|||||||||||||||||||||||||||
PROJECT_ID | Identifica el proyecto de Google Cloud en el que apigee-logger y apigee-metrics envían sus datos. Este es el valor asignado a la variable de entorno PROJECT_ID . |
|||||||||||||||||||||||||||
CLUSTER_NAME | El nombre de tu clúster de Kubernetes. Este es el valor asignado a la variable de entorno CLUSTER_NAME . |
|||||||||||||||||||||||||||
CLUSTER_LOCATION | La región en la que se ejecuta el clúster. Esta es la región en la que creaste el clúster en el Paso 1: Crea un clúster.
Corresponde al valor que asignaste anteriormente a la variable de entorno |
|||||||||||||||||||||||||||
ORG_NAME | El ID de la organización híbrida de Apigee. Este es el valor asignado a la variable de entorno ORG_NAME . |
|||||||||||||||||||||||||||
ENVIRONMENT_GROUP_NAME | El nombre del grupo de entornos al que se asignan tus entornos.
Este es el grupo que creaste en la Configuración del proyecto y la organización - Paso 3: crea un grupo de entornos. Este es el valor asignado a la variable de entorno ENV_GROUP .
|
|||||||||||||||||||||||||||
PATH_TO_CERT_FILE PATH_TO_KEY_FILE |
Ingresa la ruta y el nombre de archivo de la clave de TLS autofirmada y los archivos de certificado que generaste antes en el Paso 5: Crea certificados TLS. Estos archivos deben estar ubicados en el directorio APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs .
Por ejemplo:
sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key |
|||||||||||||||||||||||||||
INGRESS_NAME | El nombre de la puerta de enlace de entrada de Apigee para la implementación. Puede ser cualquier nombre que cumpla con los siguientes requisitos:
Consulta |
|||||||||||||||||||||||||||
SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE | (Opcional). Este es un par clave-valor que proporciona anotaciones para tu servicio de entrada predeterminado. Tu plataforma en la nube usa anotaciones para configurar tu instalación híbrida, por ejemplo, si estableces el tipo de balanceador de cargas como interno o externo.
Las anotaciones varían de una plataforma a otra. Consulta la documentación de tu plataforma para ver las anotaciones obligatorias y sugeridas. Marca como comentario o borra esta sección si no la usas. |
|||||||||||||||||||||||||||
SVC_LOAD_BALANCER_IP | (Opcional). Es una dirección IP que reservaste para tu balanceador de cargas.
En las plataformas que admiten la especificación de la dirección IP del balanceador de cargas, el balanceador de cargas se creará con esta dirección IP.
En plataformas que no te permiten especificar la IP del balanceador de cargas, se ignora esta propiedad.
Marca como comentario o borra esta sección si no la usas. | |||||||||||||||||||||||||||
ENVIRONMENT_NAME | Usa el mismo nombre que usaste cuando creaste un entorno en la IU, como se explica en Configuración del proyecto y la organización - Paso 3: crea un grupo de entornos. | |||||||||||||||||||||||||||
*_SERVICE_ACCOUNT_FILEPATH | La ruta y el nombre de archivo de los archivos JSON de la cuenta de servicio en el directorio del gráfico correspondiente. Proporciona los nombres con la ruta relativa al directorio del gráfico. Por ejemplo:
En entornos que no son de producción, se usa el nombre de la cuenta de servicio única, Para los entornos de producción, el nombre del archivo de claves de la cuenta de servicio que generaste con la herramienta Puedes ver los archivos de la cuenta de servicio en cada directorio del gráfico correspondiente. Los nombres predeterminados de los directorios del gráfico correspondientes para las cuentas de servicio son los siguientes:
|
|||||||||||||||||||||||||||
*_SERVICE_ACCOUNT_EMAIL | Las direcciones de correo electrónico de la cuenta de servicio de las cuentas de servicio de Google (GSA) que debes proporcionar si usas Workload Identity en GKE.
Estas son las cuentas de servicio que creaste en Paso 4: Crear cuentas de servicio.
Puedes encontrar las direcciones de correo electrónico de las cuentas de servicio con el siguiente comando: gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee" |
Resumen
El archivo de configuración le indica a Kubernetes cómo implementar los componentes híbridos en un clúster. A continuación, habilitarás el acceso al sincronizador para que el plano de ejecución y los de administración de Apigee puedan comunicarse.