Paso 7: Configura el entorno de ejecución híbrido

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.

  1. Asegúrate de que estás en el directorio hybrid-base-directory/hybrid-files/overrides/.
    cd hybrid-base-directory/hybrid-files/overrides
  2. 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.

  3. 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:

    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"
      
    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
        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
    
    
  4. 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 ANALYTICS_REGION anteriormente.

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 CLUSTER_LOCATION anteriormente.

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. 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 instanceId debe ser el mismo para todas las organizaciones del mismo clúster de Kubernetes.
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