Administra los componentes del plano del entorno de ejecución

En este tema, se explica cómo configurar y administrar los componentes del plano del entorno de ejecución de Apigee Hybrid. Para obtener una lista de los componentes del plano del entorno de ejecución que puedes configurar, consulta la descripción general de la configuración del servicio del entorno de ejecución.

Acerca del archivo de anulación

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

Los pasos de la instalación híbrida explican el proceso de creación de un archivo de anulaciones y cómo aplicar la configuración a un clúster. Si deseas cambiar la configuración más adelante, modifica el archivo de anulaciones que creaste y vuelve a aplicarlo.

Realiza un cambio de configuración

Para realizar un cambio de configuración en un componente del plano del entorno de ejecución híbrido, edita tu archivo de anulaciones y aplica los cambios con Helm o apigeectl, según tu herramienta de administración.

Por ejemplo, para cambiar el recuento de réplicas en Message Processor, sigue estos pasos:

  1. Abre el archivo OVERRIDES.yaml. Asegúrate de usar el mismo archivo de anulaciones que se usó para instalar el entorno de ejecución híbrido en el clúster.
  2. Ubica el elemento runtime en el archivo. Por ejemplo:
    ...
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 1
      replicaCountMax: 2
    ...
  3. 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
    
  4. Aplica los cambios con los siguientes comandos:

    Helm

    Debes instalar un entorno a la vez. Especifica el entorno con --set env=ENV_NAME.

    1. Realiza primero una ejecución de prueba:
      helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE \
      --dry-run
      
      • ENV_RELEASE_NAME es el nombre con el que se instaló el chart apigee-env. En la versión híbrida 1.10, por lo general, es apigee-env-ENV_NAME. En la versión híbrida 1.11 y posteriores, suele ser ENV_NAME.
      • ENV_NAME es el nombre del entorno que estás actualizando.
      • OVERRIDES_FILE es la ruta de acceso a tu archivo de anulaciones.1.3.6
    2. Actualiza el chart:
      helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE
      

    apigeectl

    Usa apigeectl para aplicar el cambio en el clúster:

    apigeectl apply -f OVERRIDES.yaml --org --env apigee-env
  5. Para verificar que esté en funcionamiento, comprueba el estado del entorno correspondiente:
    kubectl -n APIGEE_NAMESPACE get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    apigee-org1-dev-xxx            running     2d

¿Qué propiedades de configuración puedes modificar?

Puedes encontrar la lista completa de propiedades configurables en la referencia de las propiedades de configuración. La referencia solo enumera las propiedades que puedes modificar. Si intentas modificar una propiedad que no está en la referencia, el cambio se ignora.

Cómo usar la referencia de configuración

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

ao.image.pullPolicy

En el archivo de anulación, las propiedades tienen el formato YAML adecuado. En el ejemplo anterior, el elemento ao de nivel superior tiene sangrías izquierdas y las propiedades de subelemento tienen sangría debajo de este. Además, YAML requiere dos puntos al final de cada elemento y subelemento.

Por ejemplo, para configurar la propiedad ao.image.pullPolicy como Always, ubica esta estrofa YAML en el archivo de anulación y configúrala de la siguiente manera:

ao:
  image:
    pullPolicy: Always

Para otro ejemplo, la propiedad cassandra.auth.admin.password (como aparece en la referencia de las propiedades de configuración) se usa para establecer la contraseña de administrador de Cassandra. Para cambiarlo, ubica el siguiente YAML en el archivo de anulación y configúralo de la siguiente manera:

cassandra:
  auth:
    admin:
      password: abc123

Recuerda que, en la referencia de las propiedades de configuración se describen todas las propiedades que puedes establecer en los componentes del plano de ejecución híbrido. Sigue el patrón que se explicó antes para modificar estos elementos en tu archivo de anulaciones antes de aplicar los cambios a tu clúster.

Usa el ejemplo predefinido de archivo de anulaciones

Cuando instales el entorno de ejecución híbrido por primera vez, Apigee recomienda que uses uno de los archivos anulados de ejemplo preconfigurados. Estos ejemplos proporcionan un conjunto completo de propiedades de configuración para situaciones de instalación específicas, como la configuración de una instalación de producción o prueba. Lo único que debes hacer es proporcionar los valores apropiados para las propiedades y aplicar el archivo de anulación a tu clúster. Consulta el Paso 6: Configura el clúster para obtener más información.

Información sobre la configuración predeterminada

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

Por lo general, un archivo de anulación incluye solo un subconjunto de las propiedades de configuración que se encuentran en values.yaml. Recuerda que no todas las propiedades se pueden editar. Cuando aplicas una configuración a un clúster, las anulaciones se combinan con los valores predeterminados para crear la configuración completa del clúster de Kubernetes. Consulta también Prueba la configuración combinada.

En el siguiente código, se muestra la configuración predeterminada para el componente mart, como se encuentra en values.yaml. Ten en cuenta que algunos valores tienen una configuración predeterminada, mientras que otros como sslCertPath y sslKeyPath no. Debes proporcionar estos valores faltantes en tu archivo de anulaciones, como se explica en los pasos de instalación. Si quieres cambiar alguno de los valores predeterminados, asegúrate de que se puedan editar mediante 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.3.6"
    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 deseas modificar los valores predeterminados de un componente, y el componente aún no está en tu archivo de anulaciones, puedes copiar su YAML de values.yaml en tu archivo de anulaciones y modificarlo allí.

Archivos de anulaciones de muestra

Apigee proporciona un conjunto de archivos anulados de muestra para ayudarte a configurar tu implementación híbrida. Se recomienda copiar y modificar el archivo de anulaciones que más coincide con los requisitos de tu instalación.

En el directorio HYBRID_ROOT_DIR/examples, se incluyen los siguientes ejemplos:

Archivos de anulaciones de muestra Descripción
overrides-small.yaml Esta muestra es ideal para comenzar rápidamente. Usa la huella mínima recomendada para iniciar los componentes del entorno de ejecución híbrido. Esta configuración de muestra depende, en la medida de lo posible, de la configuración y los valores predeterminados. Todas las réplicas mínimas se configuran como 1.
overrides-medium.yaml Este ejemplo es un buen punto de partida para los entornos de prueba y QA. Los componentes individuales tienen un nivel más alto de recursos para manejar el tráfico adicional. Cassandra usa discos SSD para lograr un buen rendimiento. En este entorno, se recomienda que los usuarios instalen componentes con estado y sin estado en nodos separados. Consulta Configura nodos dedicados.
overrides-large.yaml Esta muestra es un buen punto de partida para entornos de alto rendimiento, como la preproducción y la producción. En esta muestra, se incluyen propiedades para configurar claves de encriptación, contraseñas y otras opciones. Los componentes individuales tienen un mínimo de dos réplicas.

Anotaciones personalizadas

Las anotaciones son mapas de par clave-valor que se usan para adjuntar metadatos a los pods de Kubernetes híbridos de Apigee. Puedes crear anotaciones personalizadas para las siguientes propiedades que aparecen en la referencia de las propiedades de configuración:

Si deseas agregar una anotación personalizada, agrega una estrofa al archivo OVERRIDES.yaml para el componente correspondiente.

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

runtime:
  annotations:
    businessunit: "bu1"

Prueba la configuración combinada

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

Helm

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

apigeectl

APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES.yaml --dry-run=client

Para obtener más información, consulta apigeectl.

Crea varios archivos de anulaciones según sea necesario

Puedes crear todos los archivos de anulaciones que desees y que cada uno cumpla un requisito específico. Por ejemplo, puedes tener un archivo de anulación que ajuste tu clúster para la producción y otro para crear un clúster de prueba. Puedes mantener estos archivos en tu sistema de control de código fuente.

Por ejemplo:

Helm

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

apigeectl

$APIGEECTL_HOME/apigeectl apply -f test-1-env-overrides.yaml --env test-1-env

Borra componentes de plano del entorno de ejecución híbridos específicos de la nube

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

Para borrar los componentes de plano del entorno de ejecución híbridos específicos de tu clúster, usa los comandos helm delete o apigeectl delete. Asegúrate de especificar el mismo archivo de anulaciones que usaste para instalar los componentes del entorno de ejecución.

Por ejemplo:

Helm

Con Helm, debes borrar cada componente de forma individual. Por ejemplo, para borrar el componente cassandra, usa el siguiente comando:
helm -n apigee delete datastore

En el ejemplo anterior, el componente del almacén de datos se instaló con el nombre “datastore”. Si lo instalaste con un nombre diferente, debes proporcionar ese nombre para borrar el componente. Por ejemplo, si instalaste el chart apigee-datastore con helm install my-cassandra-storage apigee-datastore/, lo borras con el siguiente comando:

helm delete -n apigee my-cassandra-storage

apigeectl

Con apigeectl, puedes borrar todos los componentes del entorno de ejecución a la vez o limitar el permiso para borrar un componente a la vez. Por ejemplo, para borrar todos los componentes a la vez, haz lo siguiente:
$APIGEECTL_HOME/apigeectl delete -f OVERRIDES_FILE.yaml

Para borrar el componente cassandra, haz lo siguiente:

$APIGEECTL_HOME/apigeectl delete -f OVERRIDES_FILE.yaml --datastore

Para recrear uno o varios componentes específicos (en este ejemplo, el grupo de entornos):

Helm

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

apigeectl

$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --env ENV_NAME --settings virtualhosts