Gestionar componentes del plano del entorno de ejecución

En este tema se explica cómo configurar y gestionar los componentes del plano de tiempo de ejecución de Apigee hybrid. Para ver una lista de los componentes del plano de tiempo de ejecución que puedes configurar, consulta Información general sobre la configuración del servicio del entorno de ejecución.

Acerca del archivo de anulaciones

La primera vez que instales el entorno de ejecución híbrido en un clúster, debes crear un archivo de anulaciones de configuración. Este archivo le permite anular los valores de configuración predeterminados según sea necesario, configurar entornos, hacer referencia a certificados TLS y claves de cuentas de servicio, asignar grupos de nodos de Kubernetes a componentes híbridos específicos, etc.

En los pasos de instalación de la versión híbrida se explica cómo crear un archivo de anulaciones y aplicar la configuración a un clúster. Si quieres cambiar la configuración más adelante, modifica el archivo de anulaciones que has creado y vuelve a aplicarlo.

Hacer un cambio de configuración

Para cambiar la configuración de un componente del plano de tiempo de ejecución híbrido, edita el archivo de anulaciones y usa Helm para actualizar el gráfico que corresponda al componente. En el siguiente gráfico se muestra qué gráficos corresponden a qué componentes de Apigee hybrid:

ÁmbitoComponentesGráfico de Helm
Operador de Apigee Operador de Apigee apigee-operator
Almacenamiento Cassandra apigee-datastore
Almacenamiento en memoria Redis apigee-redis
Informes Logger
Metrics
apigee-telemetry
Entrada Pasarela de entrada de Apigee apigee-ingress-manager
Organization (Organización) Agente de conexión de Apigee
MART
UDCA
Watcher
apigee-org
Entorno Runtime
Synchronizer
apigee-env
Grupo de entornos virtualhost apigee-virtualhost

Por ejemplo, para cambiar el número de réplicas del procesador de mensajes, sigue estos pasos:

  1. Abre el archivo OVERRIDES.yaml. Asegúrate de usar el mismo archivo de anulaciones que se usó para instalar el tiempo de ejecución híbrido en el clúster.
  2. Busca el elemento runtime en el archivo. Por ejemplo:
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 1
      replicaCountMax: 2
    ...
  3. Consulta los siguientes artículos:

  4. Cambia las propiedades de recuento de réplicas según sea necesario. Por ejemplo:
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 2
      replicaCountMax: 20
    ...
  5. Actualiza el entorno.
  6. Debes instalar un entorno cada vez. Especifica el entorno con --set env=ENV_NAME.

    Prueba de funcionamiento:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
    --install \
    --namespace APIGEE_NAMESPACE \
    --set env=ENV_NAME \
    -f OVERRIDES_FILE \
    --dry-run=server
    
    • ENV_RELEASE_NAME es el nombre con el que instalaste el gráfico apigee-env. En la versión híbrida 1.10, suele ser apigee-env-ENV_NAME. En Hybrid v1.11 y versiones posteriores, suele ser ENV_NAME.
    • ENV_NAME es el nombre del entorno que vas a actualizar.
    • OVERRIDES_FILE es el nuevo archivo de anulaciones para la versión 1.15.0.
  7. Actualiza el gráfico:
  8. helm upgrade ENV_RELEASE_NAME apigee-env/ \
    --install \
    --namespace APIGEE_NAMESPACE \
    --set env=ENV_NAME \
    -f OVERRIDES_FILE
    
  9. Para comprobar que está en funcionamiento, consulta el estado del entorno correspondiente:
  10. kubectl -n APIGEE_NAMESPACE get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    apigee-org1-dev-xxx            running     2d

¿Qué propiedades de configuración puede modificar?

Puede consultar la lista completa de propiedades configurables en la referencia de propiedades de configuración. En la referencia solo se indican las propiedades que puede modificar. Si intenta modificar una propiedad que no aparece en la referencia, el cambio se ignorará.

Cómo usar la referencia de configuración

La referencia de la propiedad Configuration usa la notación de puntos para describir los elementos de configuración. El primer elemento es el nombre del elemento de nivel superior, seguido de las propiedades y las propiedades secundarias. Por ejemplo:

ao.image.pullPolicy

En el archivo de anulaciones, las propiedades tienen el formato YAML adecuado. En el ejemplo anterior, el elemento ao de nivel superior tiene una sangría a la izquierda y las propiedades de los subelementos tienen una sangría debajo. Además, YAML requiere dos puntos al final de cada elemento y subelemento.

Por ejemplo, para definir la propiedad ao.image.pullPolicy en Always, busca esta estrofa YAML en el archivo de anulaciones y defínela de la siguiente manera:

ao:
  image:
    pullPolicy: Always

Otro ejemplo es la propiedad cassandra.auth.admin.password (que se indica en la referencia de la propiedad de configuración), que se usa para definir la contraseña de administrador de Cassandra. Para cambiarlo, busca el siguiente YAML en el archivo de anulaciones y configúralo de la siguiente manera:

cassandra:
  auth:
    admin:
      password: abc123

Recuerde que en la referencia de la propiedad de configuración se describen todas las propiedades que puede definir en los componentes del plano de tiempo de ejecución híbrido. Sigue el patrón explicado anteriormente para modificar estos elementos en tu archivo de anulaciones antes de aplicar los cambios al clúster.

Usar archivos de anulaciones de ejemplo predefinidos

Cuando instales el tiempo de ejecución híbrido por primera vez, Apigee te recomienda que uses uno de los archivos de ejemplo de anulaciones preconfigurados. Estos ejemplos proporcionan un conjunto completo de propiedades de configuración para casos de instalación específicos, como la configuración de una instalación de producción o de prueba. Solo tienes que proporcionar los valores adecuados para las propiedades y aplicar el archivo de anulaciones a tu clúster. Consulta el paso 6: Crea las anulaciones para obtener más información.

Acerca de los valores predeterminados de configuración

Apigee mantiene la configuración predeterminada de sus componentes en el archivo HYBRID_ROOT_DIR/config/values.yaml. Los archivos de anulaciones siguen la misma estructura YAML que values.yaml.

Un archivo de anulaciones suele incluir solo un subconjunto de las propiedades de configuración que se encuentran en values.yaml. Recuerde que no todas las propiedades se pueden editar. Cuando aplicas una configuración a un clúster, tus anulaciones se combinan con los valores predeterminados para crear la configuración completa del clúster de Kubernetes. Consulta también Probar la configuración combinada.

El siguiente código muestra la configuración predeterminada del componente mart tal como se encuentra en values.yaml. Tenga en cuenta que algunos valores tienen valores predeterminados, mientras que otros, como sslCertPath y sslKeyPath, no. Debes proporcionar estos valores que faltan en el archivo de anulaciones, tal como se explica en los pasos de instalación. Si quieres cambiar alguno de los valores predeterminados, comprueba que se puedan editar en la referencia de la propiedad de configuración.

...
mart:
  replicaCountMin: 2
  replicaCountMax: 4
  targetCPUUtilizationPercentage: 75
  terminationGracePeriodSeconds: 30
  sslCertPath:
  sslKeyPath:
  hostAlias:
  nodeSelector:
    key:
    value:
  revision: blue
  image:
    url: "gcr.io/apigee-release/hybrid/apigee-mart-server"
    tag: "1.15.0"
    pullPolicy: IfNotPresent
  resources:
    requests:
      cpu: 500m
      memory: 512Mi
  initCheckCF:
    resources:
      requests:
        cpu: 10m
  livenessProbe:
    timeoutSeconds: 1
    failureThreshold: 12
    periodSeconds: 5
    initialDelaySeconds: 15
  readinessProbe:
    timeoutSeconds: 1
    successThreshold: 1
    failureThreshold: 2
    periodSeconds: 5
    initialDelaySeconds: 15
  metricsURL: "/v1/server/metrics"
  cwcAppend: |
...

Si quieres modificar los valores predeterminados de un componente y este aún no está en tu archivo de anulaciones, puedes copiar su YAML de values.yaml en tu archivo de anulaciones y modificarlo ahí.

Anotaciones personalizadas

Las anotaciones son mapas de pares clave-valor que se usan para adjuntar metadatos a los pods de Kubernetes de Apigee hybrid. Puede crear anotaciones personalizadas para las siguientes propiedades que se indican en la referencia de la propiedad de configuración:

Para añadir una anotación personalizada, añade una estrofa al archivo OVERRIDES.yaml del componente correspondiente.

En el siguiente ejemplo se muestra cómo se puede especificar una anotación en pods de runtime:

runtime:
  annotations:
    businessunit: "bu1"

Probar la configuración combinada

Puedes usar la marca --dry-run para probar el archivo de configuración combinado sin aplicarlo a tu clúster. Esta opción es útil para depurar un problema de instalación, ya que muestra exactamente lo que se aplicará al clúster. También es recomendable probar la configuración y almacenarla en un sistema de control de versiones para tener una referencia de los recursos instalados y configurados en el clúster.

kubectl apply -k  apigee-operator/etc/crds/default/
      
helm upgrade operator apigee-operator/ \
  --install \
  --namespace APIGEE_NAMESPACE \
  --atomic \
  -f OVERRIDES_FILE.yaml \
  --dry-run=server
helm upgrade ingress-manager apigee-ingress-manager/ /
  --install \
  --namespace APIGEE_NAMESPACE \
  --atomic \
  -f OVERRIDES_FILE.yaml \
  --dry-run=server

Crear varios archivos de anulaciones según sea necesario

Puedes crear tantos archivos de anulaciones como quieras, donde cada uno cumpla un requisito específico. Por ejemplo, puede tener un archivo de anulaciones que ajuste su clúster para la producción y otro para crear un clúster de pruebas. Después, puedes mantener estos archivos en tu sistema de control de versiones.

Por ejemplo:

helm upgrade test-1-env apigee-env/ \
  --namespace APIGEE_NAMESPACE \
  --atomic \
  --set env=test-1-env \
  -f test-1-env-overrides.yaml

Eliminar componentes del plano del entorno de ejecución específicos de la configuración híbrida

Los componentes del plano de ejecución incluyen synchronizer, mart, runtime, cassandra y udca.

Para eliminar los componentes del plano de tiempo de ejecución específicos de híbrido de tu clúster, usa el comando helm delete. Asegúrate de especificar el mismo archivo de anulaciones que usaste para instalar los componentes del tiempo de ejecución.

Por ejemplo:

Con Helm, debes eliminar cada componente por separado. Por ejemplo, para eliminar el componente cassandra, usa el siguiente comando:

helm -n APIGEE_NAMESPACE delete datastore

En el ejemplo anterior, el componente de almacén de datos se instaló con el nombre "datastore". Si lo has instalado con otro nombre, debes proporcionar ese nombre para eliminar el componente. Por ejemplo, si has instalado el gráfico apigee-datastore con helm install my-cassandra-storage apigee-datastore/. Para eliminarlo, usa el siguiente comando:

helm delete -n apigee my-cassandra-storage

Para volver a crear un componente o varios componentes específicos (en este ejemplo, el grupo de entornos):

helm upgrade ENV_GROUP apigee-virtualhost/ \
  --install \
  --namespace APIGEE_NAMESPACE \
  --atomic \
  --set envgroup=ENV_GROUP_NAME \
  -f OVERRIDES_FILE.yaml