Especificar anulaciones de configuración
El instalador de Apigee hybrid usa valores predeterminados para muchos ajustes. Sin embargo, hay algunos ajustes que no tienen valores predeterminados. Debe proporcionar valores para estos ajustes, tal como se explica a continuación.
- Asegúrate de que estás en el directorio
hybrid-base-directory/hybrid-files/overrides/
.cd hybrid-base-directory/hybrid-files/overrides
- Crea un archivo llamado
overrides.yaml
en tu editor de texto favorito. Por ejemplo:vi overrides.yaml
El archivo
overrides.yaml
proporciona la configuración de tu instalación única de Apigee hybrid. El archivo de anulaciones de este paso proporciona una configuración básica para una instalación de tiempo de ejecución híbrido con un tamaño reducido, adecuada para tu primera instalación. - En
overrides.yaml
, añada los valores de propiedad obligatorios, que se muestran a continuación. A continuación, se incluye una descripción detallada de cada propiedad:En el caso de las instalaciones en entornos de producción, consulta los requisitos de almacenamiento de la base de datos Cassandra en Configurar Cassandra para el entorno de producción.
Sintaxis
Asegúrate de que el archivo
overrides.yaml
tenga la siguiente estructura y sintaxis. Los valores de red, bold italics son valores de propiedad que debe proporcionar. Se describen en la tabla de abajo.Hay diferencias entre las distintas plataformas en cuanto a la región del proyecto de Google Cloud y la región del clúster de Kubernetes. Elige la plataforma en la que vas a instalar 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" # See the property description table below information about this parameter. 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 sslCertPath: ./certs/cert-name.pem sslKeyPath: ./certs/key-name.key envs: - name: environment-name serviceAccountPaths: synchronizer: ./service-accounts/synchronizer-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-synchronizer.json udca: ./service-accounts/udca-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-udca.json runtime: ./service-accounts/runtime-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-runtime.json mart: serviceAccountPath: ./service-accounts/mart-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-mart.json connectAgent: serviceAccountPath: ./service-accounts/mart-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-mart.json # Use the same service account for mart and connectAgent metrics: serviceAccountPath: ./service-accounts/metrics-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-metrics.json udca: serviceAccountPath: ./service-accounts/udca-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-udca.json watcher: serviceAccountPath: ./service-accounts/watcher-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, 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: ./service-accounts/logger-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-logger.json
Ejemplo
En el siguiente ejemplo se muestra un archivo de anulaciones completado con valores de propiedad de ejemplo:
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 sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key envs: - name: test serviceAccountPaths: synchronizer: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-synchronizer.json udca: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-udca.json runtime: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-runtime.json mart: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-mart.json connectAgent: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, example-hybrid-apigee-mart.json metrics: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-metrics.json udca: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-udca.json watcher: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-watcher.json logger: enabled: false # Set to "false" for GKE. Set to "true" for all other kubernetes platforms. serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, logger-service-account-name.json
- Cuando hayas terminado, guarda el archivo.
En la siguiente tabla se describen los valores de propiedad que debe proporcionar en el archivo de anulaciones. Para obtener más información, consulta la referencia de la propiedad de configuración.
Variable | Descripción |
---|---|
analytics-region | En GKE, debe definir este valor en la misma región en la que se ejecuta el clúster. En todas las demás plataformas, selecciona la región de analíticas más cercana a tu clúster que admita analíticas (consulta la tabla del paso 4 de la parte 1: crea una organización).
Este es el valor que has asignado a la variable de entorno
|
gcp-project-id | Identifica el proyecto de Google Cloud en el que apigee-logger y apigee-metrics insertan sus datos. Este es el valor asignado a la variable de entorno PROJECT_ID . |
cluster-name | Nombre del 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 has creado el clúster en el paso 1: Crea un clúster.
Este es el valor que has asignado a la variable de entorno
|
org-name | ID de tu organización de Apigee Hybrid. Este es el valor asignado a la variable de entorno ORG_NAME . |
unique-instance-identifier | Una cadena única para identificar esta instancia de Apigee hybrid por clúster. La cadena puede ser una combinación de letras y números de hasta 63 caracteres.
Si necesitas ayuda para generar un ID único, puedes usar una herramienta de generación de cadenas aleatorias de tu elección, como random.org/strings. |
environment-group-name | Nombre del grupo de entornos al que se han asignado tus entornos. Este es el grupo que has creado en Configuración del proyecto y de la organización - Paso 5: Crea un grupo de entorno.
Este es el valor asignado a la variable de entorno ENV_GROUP .
|
cert-name key-name |
Introduce el nombre de los archivos de clave y certificado TLS autofirmados que has generado anteriormente en el paso 6: Crea certificados TLS.
Estos archivos deben estar en el directorio base_directory/hybrid-files/certs . Por ejemplo:
sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key |
environment-name | Usa el mismo nombre que usaste cuando creaste un entorno en la interfaz de usuario, tal como se explica en el paso 5 de Configuración de proyectos y organizaciones: crea un grupo de entorno. |
synchronizer-service-account-name | En los entornos que no son de producción, el nombre de la cuenta de servicio única es non-prod de forma predeterminada. En los entornos de producción, el nombre del archivo de clave de cuenta de servicio apigee-synchronizer que has generado con la herramienta create-service-account en Configuración del tiempo de ejecución híbrido - Paso 6: Crea credenciales y cuentas de servicio. Puedes ver la lista de archivos de la cuenta de servicio en tu directorio service-accounts/ . Por ejemplo:
ls ../service-accounts/ |
udca-service-account-name | En los entornos que no son de producción, el nombre de la cuenta de servicio única es non-prod de forma predeterminada. En los entornos de producción, el nombre del archivo de clave de cuenta de servicio apigee-udca que has generado con la herramienta create-service-account . |
runtime-service-account-name | En los entornos que no son de producción, el nombre de la cuenta de servicio única es non-prod de forma predeterminada. En entornos de producción, el nombre del archivo de clave de cuenta de servicio apigee-runtime que has generado con la herramienta create-service-account . |
mart-service-account-name | En los entornos que no son de producción, el nombre de la cuenta de servicio única es non-prod de forma predeterminada. En los entornos de producción, el nombre del archivo de clave de cuenta de servicio apigee-mart que has generado con la herramienta create-service-account .
|
metrics-service-account-name | En los entornos que no son de producción, el nombre de la cuenta de servicio única es non-prod de forma predeterminada. En los entornos de producción, el nombre del archivo de clave de cuenta de servicio apigee-metrics que has generado con la herramienta create-service-account . |
udca-service-account-name | En los entornos que no son de producción, el nombre de la cuenta de servicio única es non-prod de forma predeterminada. En los entornos de producción, el nombre del archivo de clave de cuenta de servicio apigee-udca que has generado con la herramienta create-service-account . |
watcher-service-account-name | En los entornos que no son de producción, el nombre de la cuenta de servicio única es non-prod de forma predeterminada. En los entornos de producción, el nombre del archivo de clave de cuenta de servicio apigee-watcher que has generado con la herramienta create-service-account . |
logger-service-account-name | En los entornos que no son de producción, el nombre de la cuenta de servicio única es non-prod de forma predeterminada. En los entornos de producción, el nombre del archivo de clave de cuenta de servicio apigee-logger que has generado con la herramienta create-service-account . |
Resumen
El archivo de configuración indica a Kubernetes cómo desplegar los componentes híbridos en un clúster. A continuación, habilitarás el acceso del sincronizador para que los planos de gestión y de tiempo de ejecución de Apigee puedan comunicarse.
1 2 3 4 5 6 7 Paso 8: Habilita el acceso al sincronizador 9