Actualiza Apigee Hybrid a la versión 1.11

Este procedimiento abarca la actualización de la versión 1.10.x de Apigee Hybrid a la versión 1.11.2 de Apigee Hybrid y de las versiones anteriores de Hybrid 1.11.x a la versión 1.11.2.

Usa los mismos procedimientos para las actualizaciones de versiones secundarias (por ejemplo, de la versión 1.10 a la 1.11) y las actualizaciones de versiones de parches (por ejemplo, de 1.11.0 a 1.11.2).

Si actualizas desde Apigee Hybrid 1.9 o desde una versión anterior, primero debes actualizar a la versión 1.10 antes de actualizar a la versión 1.11.2. Consulta las instrucciones para actualizar Apigee Hybrid a la versión 1.10.

Descripción general de la actualización a la versión 1.11.2

Los procedimientos para actualizar Apigee Hybrid se organizan en las siguientes secciones:

  1. Prepárate para la actualización.
  2. Instala la versión 1.11.2 del entorno de ejecución híbrido.

Requisitos previos

En estas instrucciones de actualización, se da por sentado que tienes instalada la versión 1.10.x de Apigee Hybrid y deseas actualizarla a la versión 1.11.2. Si estás actualizando desde una versión anterior, consulta las instrucciones para actualizar Apigee Hybrid 1.10.

Charts de Helm y apigeectl

En la versión 1.11, puedes instalar y administrar Apigee Hybrid mediante charts de Helm o apigeectl. Apigee recomienda usar Helm para administrar la instalación.

Migra a la versión 1.11 con Helm desde la versión 1.10 con apigeectl

Para actualizar a Apigee Hybrid v1.11 administrado por Helm desde una instalación híbrida v1.10 administrada con apigeectl, haz lo siguiente:

  1. Primero, migra tu Helm de instalación v1.10 mediante las instrucciones en Migra los charts de Apigee Hybrid a Helm desde apigeectl.
  2. Sigue las instrucciones para los charts de Helm que se muestran a continuación a fin de actualizar la instalación.

Prepárate para actualizar a la versión 1.11

Helm

  1. En estas instrucciones, se usa la variable de entorno APIGEE_HELM_CHARTS_HOME para el directorio en tu sistema de archivos en el que instalaste los charts de Helm. Si es necesario, cambia el directorio a este directorio y define la variable con el siguiente comando:

    Linux

    export APIGEE_HELM_CHARTS_HOME=$PWD
    echo $APIGEE_HELM_CHARTS_HOME

    macOS

    export APIGEE_HELM_CHARTS_HOME=$PWD
    echo $APIGEE_HELM_CHARTS_HOME

    Windows

    set APIGEE_HELM_CHARTS_HOME=%CD%
    echo %APIGEE_HELM_CHARTS_HOME%
  2. Realiza una copia de seguridad de tu directorio $APIGEE_HELM_CHARTS_HOME/ versión 1.10. Puedes usar cualquier proceso de copia de seguridad. Por ejemplo, puedes crear un archivo tar de todo tu directorio con lo siguiente:
    tar -czvf $APIGEE_HELM_CHARTS_HOME/../apigee-helm-charts-v1.10-backup.tar.gz $APIGEE_HELM_CHARTS_HOME
  3. Realiza una copia de seguridad de tu base de datos de Cassandra según las instrucciones que se indican en Copia de seguridad y recuperación de Cassandra.
  4. Si usas archivos de certificado de servicio (.json) en tus anulaciones para autenticar cuentas de servicio, asegúrate de que tus archivos de certificado de cuenta de servicio residan en el directorio del chart de Helm correcto. Los charts de Helm no pueden leer archivos fuera de cada directorio del chart.

    Este paso no es necesario si usas Secrets de Kubernetes o Workload Identity para autenticar cuentas de servicio.

    En la siguiente tabla, se muestra el destino de cada archivo de cuenta de servicio, según el tipo de instalación:

    Producción

    Cuenta de servicio Nombre de archivo predeterminado Directorio de charts de Helm
    apigee-cassandra PROJECT_ID-apigee-cassandra.json $APIGEE_HELM_CHARTS_HOME/apigee-datastore/
    apigee-logger PROJECT_ID-apigee-logger.json $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
    apigee-mart PROJECT_ID-apigee-mart.json $APIGEE_HELM_CHARTS_HOME/apigee-org/
    apigee-metrics PROJECT_ID-apigee-metrics.json $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
    apigee-runtime PROJECT_ID-apigee-runtime.json $APIGEE_HELM_CHARTS_HOME/apigee-env
    apigee-synchronizer PROJECT_ID-apigee-synchronizer.json $APIGEE_HELM_CHARTS_HOME/apigee-env/
    apigee-udca PROJECT_ID-apigee-udca.json $APIGEE_HELM_CHARTS_HOME/apigee-org/
    apigee-watcher PROJECT_ID-apigee-watcher.json $APIGEE_HELM_CHARTS_HOME/apigee-org/

    No producción

    Haz una copia del archivo de la cuenta de servicio apigee-non-prod en cada uno de los siguientes directorios:

    Cuenta de servicio Nombre de archivo predeterminado Directorios de charts de Helm
    apigee-non-prod PROJECT_ID-apigee-non-prod.json $APIGEE_HELM_CHARTS_HOME/apigee-datastore/
    $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
    $APIGEE_HELM_CHARTS_HOME/apigee-org/
    $APIGEE_HELM_CHARTS_HOME/apigee-env/
  5. Asegúrate de que el certificado TLS y los archivos de claves (.crt, .key o .pem) residan en el directorio $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/.

apigeectl

En los ejemplos de estas instrucciones, se usa la siguiente estructura de directorio. Tu instalación puede ser diferente. Ajusta las instrucciones a la estructura de tu instalación.

hybrid-v1.11-root-directory/
└── apigeectl/
    └── config/
    └── plugins/
    └── templates/
    └── tools/
└── hybrid-files/
    └── overrides/
    └── service-accounts/
    └── certs/
hybrid-v1.10-root-directory/
  1. En estas instrucciones, se usa la variable de entorno APIGEECTL_HOME para el directorio en tu sistema de archivos en el que instalaste apigeectl. Si es necesario, cambia el directorio a tu directorio apigeectl y define la variable con el siguiente comando:

    Linux

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    macOS

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    Windows

    set APIGEECTL_HOME=%CD%
    echo %APIGEECTL_HOME%
  2. Realiza una copia de seguridad de tu directorio $APIGEECTL_HOME/ versión 1.10. Por ejemplo:
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.10-backup.tar.gz $APIGEECTL_HOME
  3. Realiza una copia de seguridad de tu base de datos de Cassandra según las instrucciones que se indican en Copia de seguridad y recuperación de Cassandra.

Actualiza tu versión de Kubernetes

Verifica tu versión de la plataforma de Kubernetes y, si es necesario, actualiza tu plataforma de Kubernetes a una versión compatible con Hybrid 1.10 y Hybrid 1.11. Si necesitas ayuda, sigue la documentación de la plataforma.

Instala el entorno de ejecución de Hybrid 1.11.2

Helm

Prepárate para la actualización de los charts de Helm

  1. Realiza el siguiente cambio en tu archivo overrides.yaml para habilitar los gráficos apigee-operator y apigee-env o usar la etiqueta correcta, 1.11.2-hotfix.2:
    ao:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-operators"
        tag: "1.11.2-hotfix.2"
    runtime:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-runtime"
        tag: "1.11.2-hotfix.2"
    

    Consulta las notas de la versión de Apigee 1.11.2-hotfix.2.

  2. Extrae los charts de Helm para Apigee.

    Los gráficos de Apigee Hybrid se alojan en Google Artifact Registry:

    oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts

    Con el comando pull, copia todos los gráficos de Helm de Apigee Hybrid en tu almacenamiento local con el siguiente comando:

    export CHART_REPO=oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
    export CHART_VERSION=1.11.2
    helm pull $CHART_REPO/apigee-operator --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-datastore --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-env --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-ingress-manager --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-org --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-redis --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-telemetry --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-virtualhost --version $CHART_VERSION --untar
    
  3. Instala cert-manager si es necesario.

    Si necesitas actualizar tu versión de cert-manager, instala la versión nueva con el siguiente comando:

    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.1/cert-manager.yaml
    
  4. Instala las CRD de Apigee actualizadas:
    1. Usa la función de ejecución de prueba kubectl mediante la ejecución del siguiente comando:

      kubectl apply -k  apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false --dry-run=server
      
    2. Después de validar con el comando de ejecución de prueba, ejecuta el siguiente comando:

      kubectl apply -k  apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false
      
    3. Valida la instalación con el comando kubectl get crds:
      kubectl get crds | grep apigee

      La respuesta debería ser similar a la siguiente:

      apigeedatastores.apigee.cloud.google.com                    2023-10-09T14:48:30Z
      apigeedeployments.apigee.cloud.google.com                   2023-10-09T14:48:30Z
      apigeeenvironments.apigee.cloud.google.com                  2023-10-09T14:48:31Z
      apigeeissues.apigee.cloud.google.com                        2023-10-09T14:48:31Z
      apigeeorganizations.apigee.cloud.google.com                 2023-10-09T14:48:32Z
      apigeeredis.apigee.cloud.google.com                         2023-10-09T14:48:33Z
      apigeerouteconfigs.apigee.cloud.google.com                  2023-10-09T14:48:33Z
      apigeeroutes.apigee.cloud.google.com                        2023-10-09T14:48:33Z
      apigeetelemetries.apigee.cloud.google.com                   2023-10-09T14:48:34Z
      cassandradatareplications.apigee.cloud.google.com           2023-10-09T14:48:35Z
      
  5. Verifica las etiquetas en los nodos del clúster. De forma predeterminada, Apigee programa los Pods de datos en los nodos con la etiqueta cloud.google.com/gke-nodepool=apigee-data y los Pods del entorno de ejecución se programan en nodos con la etiqueta cloud.google.com/gke-nodepool=apigee-runtime. Puedes personalizar las etiquetas de tu grupo de nodos en el archivo overrides.yaml.

    Para obtener más información, consulta Configura grupos de nodos dedicados.

Instala los gráficos de Helm de Apigee Hybrid

  1. Si no lo hiciste, navega a tu directorio APIGEE_HELM_CHARTS_HOME. Ejecuta los siguientes comandos desde ese directorio.
  2. Actualiza el operador o controlador de Apigee:

    Ejecución de prueba:

    helm upgrade operator apigee-operator/ \
      --install \
      --create-namespace \
      --namespace apigee-system \
      -f OVERRIDES_FILE \
      --dry-run
    

    Actualiza el chart:

    helm upgrade operator apigee-operator/ \
      --install \
      --create-namespace \
      --namespace apigee-system \
      -f OVERRIDES_FILE
    

    Verifica la instalación del operador de Apigee:

    helm ls -n apigee-system
    
    NAME           NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
    operator    apigee-system   3               2023-06-26 00:42:44.492009 -0800 PST    deployed        apigee-operator-1.11.2   1.11.2

    Para verificar que esté en funcionamiento, comprueba su disponibilidad:

    kubectl -n apigee-system get deploy apigee-controller-manager
    
    NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-controller-manager   1/1     1            1           7d20h
  3. Actualiza el almacén de datos de Apigee:

    Ejecución de prueba:

    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE \
      --dry-run
    

    Actualiza el chart:

    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE
    

    Para verificar que apigeedatastore esté en funcionamiento, comprueba su estado:

    kubectl -n apigee get apigeedatastore default
    
    NAME      STATE       AGE
    default   running    2d
  4. Actualiza la telemetría de Apigee:

    Ejecución de prueba:

    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE \
      --dry-run
    

    Actualiza el chart:

    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE
    

    Para verificar que esté en funcionamiento, comprueba su estado:

    kubectl -n apigee get apigeetelemetry apigee-telemetry
    
    NAME               STATE     AGE
    apigee-telemetry   running   2d
  5. Actualiza Apigee Redis:

    Ejecución de prueba:

    helm upgrade redis apigee-redis/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE \
      --dry-run
    

    Actualiza el chart:

    helm upgrade redis apigee-redis/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE
    

    Para verificar que esté en funcionamiento, comprueba su estado:

    kubectl -n apigee get apigeeredis default
    
    NAME      STATE     AGE
    default   running   2d
  6. Actualiza el administrador de entrada de Apigee:

    Ejecución de prueba:

    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE \
      --dry-run
    

    Actualiza el chart:

    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE
    

    Para verificar que esté en funcionamiento, comprueba su disponibilidad:

    kubectl -n apigee get deployment apigee-ingressgateway-manager
    
    NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-ingressgateway-manager   2/2     2            2           2d
  7. Actualiza la organización de Apigee:

    Ejecución de prueba:

    helm upgrade ORG_NAME apigee-org/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE \
      --dry-run
    

    Actualiza el chart:

    helm upgrade ORG_NAME apigee-org/ \
      --install \
      --namespace apigee \
      -f OVERRIDES_FILE
    

    Para verificar que esté en funcionamiento, comprueba el estado de la organización correspondiente:

    kubectl -n apigee get apigeeorg
    
    NAME                      STATE     AGE
    apigee-org1-xxxxx          running   2d
  8. Actualiza el entorno.

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

    Ejecución de prueba:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace apigee \
      --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 tu nuevo archivo de anulaciones para v.1.11.2

    Actualiza el chart:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace apigee \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE
    

    Para verificar que esté en funcionamiento, comprueba el estado del entorno correspondiente:

    kubectl -n apigee get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    apigee-org1-dev-xxx            running     2d
  9. Actualiza los grupos de entornos (virtualhosts).
    1. Debes actualizar un grupo de entornos (virtualhost) a la vez. Especifica el grupo de entornos con --set envgroup=ENV_GROUP_NAME. Repite los siguientes comandos para cada grupo de entornos mencionado en el archivo overrides.yaml:

      Ejecución de prueba:

      helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
        --install \
        --namespace apigee \
        --set envgroup=ENV_GROUP_NAME \
        -f OVERRIDES_FILE \
        --dry-run
      

      ENV_GROUP_RELEASE_NAME es el nombre con el que se instaló el chart apigee-virtualhost. En la versión híbrida 1.10, por lo general, es apigee-virtualhost-ENV_GROUP_NAME. En la versión híbrida 1.11 y posteriores, suele ser ENV_GROUP_NAME.

      Actualiza el chart:

      helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
        --install \
        --namespace apigee \
        --set envgroup=ENV_GROUP_NAME \
        -f OVERRIDES_FILE
      
    2. Verifica el estado de ApigeeRouter (AR).

      La instalación de virtualhosts crea ApigeeRouteConfig (ARC), que crea de forma interna ApigeeRoute (AR) una vez que Apigee Watcher extrae detalles relacionados del grupo de entornos desde el plano de control. Por lo tanto, verifica que el estado de AR correspondiente esté en ejecución:

      kubectl -n apigee get arc
      
      NAME                                STATE   AGE
      apigee-org1-dev-egroup                       2d
      kubectl -n apigee get ar
      
      NAME                                        STATE     AGE
      apigee-org1-dev-egroup-xxxxxx                running   2d

apigeectl

  1. Almacena el número de la versión más reciente en una variable con el siguiente comando:

    Linux

    export VERSION=$(curl -s \
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)

    macOS

    export VERSION=$(curl -s \
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt)

    Windows

    for /f "tokens=*" %a in ('curl -s ^
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt') ^
    do set VERSION=%a
  2. Verifica que la variable se haya propagado con un número de versión mediante el siguiente comando. Si quieres usar una versión diferente, puedes guardarla en una variable de entorno.
    echo $VERSION

    Deberías ver la última versión de Apigee Hybrid:

      1.11.2
  3. Asegúrate de estar en el directorio base híbrido (el superior del directorio en el que se encuentra el archivo ejecutable apigeectl):
    cd $APIGEECTL_HOME/..
  4. Descarga el paquete de lanzamientos para tu sistema operativo con el siguiente comando. Asegúrate de seleccionar tu plataforma en la siguiente tabla:

    Linux

    Linux de 64 bits

    curl -LO \
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz

    macOS

    Mac (64 bits)

    curl -LO \
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz

    Windows

    Windows de 64 bits

    curl -LO ^
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/%VERSION%/apigeectl_windows_64.zip
  5. Cambia el nombre de tu directorio apigeectl/ actual por un nombre de directorio de copia de seguridad. Por ejemplo:

    Linux

    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.10/

    macOS

    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.10/ 

    Windows

    rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.10 
  6. Extrae el contenido del archivo gzip descargado en tu directorio base híbrido. El directorio base híbrido es el directorio donde se encuentra el directorio apigeectl-v1.10 al que se le cambió el nombre:

    Linux

    tar xvzf filename.tar.gz -C ./

    macOS

    tar xvzf filename.tar.gz -C ./

    Windows

    tar xvzf filename.zip -C ./
  7. De forma predeterminada, el contenido del archivo tar se expande a un directorio con la versión y la plataforma en su nombre. Por ejemplo: ./apigeectl_1.11.2-xxxxxxx_linux_64. Cambia el nombre de ese directorio a apigeectl con el siguiente comando:

    Linux

    mv apigeectl_1.11.2-xxxxxxx_linux_64 apigeectl

    macOS

    mv apigeectl_1.11.2-xxxxxxx_mac_64 apigeectl

    Windows

    rename apigeectl_1.11.2-xxxxxxx_windows_64 apigeectl
  8. Cambia al directorio apigeectl:
    cd ./apigeectl

    Este directorio es el directorio principal de apigeectl. Es donde se encuentra el comando ejecutable apigeectl.

  9. En estas instrucciones, se usa la variable de entorno $APIGEECTL_HOME para el directorio en tu sistema de archivos en el que está instalada la utilidad apigeectl. Si es necesario, cambia el directorio a tu directorio apigeectl y define la variable con el siguiente comando:

    Linux

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    macOS

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    Windows

    set APIGEECTL_HOME=%CD%
    echo %APIGEECTL_HOME%
  10. Verifica la versión de apigeectl con el comando version:
    ./apigeectl version
    Version: 1.11.2
  11. Crea un directorio hybrid-base-directory/hybrid-files y muévelo a él. El directorio hybrid-files es donde se encuentran los archivos de configuración, como el archivo de anulación, los certificados y las cuentas de servicio. Por ejemplo:

    Linux

    mkdir $APIGEECTL_HOME/../hybrid-files
    cd $APIGEECTL_HOME/../hybrid-files

    macOS

    mkdir $APIGEECTL_HOME/../hybrid-files
    cd $APIGEECTL_HOME/../hybrid-files

    Windows

    mkdir %APIGEECTL_HOME%/../hybrid-files
    cd %APIGEECTL_HOME%/../hybrid-files
  12. Verifica que kubectl esté configurado en el contexto correcto con el siguiente comando. El contexto actual debe configurarse en el clúster en el que actualizas Apigee Hybrid.
    kubectl config get-contexts | grep \*
  13. En el directorio hybrid-files:
    1. Actualiza los siguientes vínculos simbólicos a $APIGEECTL_HOME. Estos vínculos te permiten ejecutar el comando apigeectl recién instalado desde el directorio hybrid-files:
      ln -nfs $APIGEECTL_HOME/tools tools
      ln -nfs $APIGEECTL_HOME/config config
      ln -nfs $APIGEECTL_HOME/templates templates
      ln -nfs $APIGEECTL_HOME/plugins plugins
    2. Para verificar que los symlinks se hayan creado correctamente, ejecuta este comando y asegúrate de que las rutas de los vínculos apunten a las ubicaciones correctas:
      ls -l | grep ^l
  14. Realiza el siguiente cambio en tu archivo overrides.yaml para habilitar el operador y el entorno de ejecución para que usen la etiqueta correcta, 1.11.2-hotfix.2:
    ao:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-operators"
        tag: "1.11.2-hotfix.2"
    runtime:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-runtime"
        tag: "1.11.2-hotfix.2"
    

    Consulta las notas de la versión de Apigee 1.11.2-hotfix.2.

  15. Realiza una inicialización de prueba de validación para verificar si hay errores:
    ${APIGEECTL_HOME}/apigeectl init -f OVERRIDES_FILE --dry-run=client

    En el ejemplo anterior, OVERRIDES_FILE es el nombre del archivo de anulación, por ejemplo, ./overrides/overrides.yaml.

  16. Si no hay errores, inicializa hybrid 1.11.2:
    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
  17. Comprueba el estado de inicialización:
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

    Si se realiza de forma correcta, el resultado indica lo siguiente: All containers ready.

    kubectl describe apigeeds -n apigee

    En el resultado, busca State: running.

  18. Verifica si hay errores con una prueba de validación del comando apply mediante la marca --dry-run:
    $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --dry-run=client
  19. Si no hay errores, aplica tus anulaciones. Selecciona y sigue las instrucciones para los entornos de producción o que no sean de producción, según tu instalación.

    Producción

    En los entornos de producción, actualiza cada componente Hybrid de forma individual y verificar el estado del componente actualizado antes de continuar con el siguiente.

    1. Asegúrate de que estés en el directorio hybrid-files.
    2. Aplica tus anulaciones para actualizar Cassandra:
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --datastore
    3. Verifica la finalización:
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

      Continúa con el siguiente paso solo cuando los Pods estén listos.

    4. Aplica tus anulaciones para actualizar los componentes de telemetría y verificar la finalización:
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --telemetry
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    5. Abre los componentes de Redis:
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --redis
    6. Aplica tus anulaciones para actualizar los componentes a nivel de la organización (MART, Watcher y Apigee Connect) y verifica la finalización:
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --org
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    7. Aplica tus anulaciones para actualizar tus entornos. Tienes dos opciones:
      • Entorno por entorno: Aplica tus anulaciones a un entorno a la vez y verifica la finalización. Repite este paso para cada entorno:
        $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --env ENV_NAME
        $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

        En el comando anterior, ENV_NAME es el nombre del entorno que estás actualizando.

      • Todos los entornos a la vez: Aplica las anulaciones a todos los entornos a la vez y verifica la finalización:
        $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --all-envs
        $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    8. Aplica tus anulaciones para actualizar los componentes virtualhosts y verificar la finalización:
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

    No producción

    En la mayoría de los entornos experimentales, de producción o de no producción, puedes aplicar las anulaciones a todos los componentes a la vez. Si tu entorno de no producción es grande y complejo, o imita a un entorno de producción, te recomendamos seguir las instrucciones para actualizar entornos de producción.

    1. Asegúrate de que estés en el directorio hybrid-files.
    2. $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE
    3. Verifica el estado:
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

Revierte una actualización

Sigue estos pasos para revertir una actualización anterior:

Helm

Para revertir a la versión anterior, usa los charts y el archivo de anulación de la instalación anterior.

  1. Crea la siguiente variable de entorno:
    • PREVIOUS_HELM_CHARTS_HOME: El directorio en el que se instalaron los charts anteriores de Helm para Apigee Hybrid. Esta es la versión a la que estás revirtiendo.
  2. Revierte los hosts virtuales. Repite el siguiente comando para cada grupo de entornos mencionado en el archivo de anulaciones.
    helm upgrade ENV_GROUP_RELEASE_NAME $PREVIOUS_HELM_CHARTS_HOME/apigee-virtualhost/ \
      --namespace apigee \
      --atomic \
      --set envgroup=ENV_GROUP_NAME \
      -f PREVIOUS_OVERRIDES_FILE
    

    ENV_GROUP_RELEASE_NAME es el nombre con el que se instaló el chart apigee-virtualhost. En la versión híbrida 1.10, por lo general, es apigee-virtualhost-ENV_GROUP_NAME. En la versión híbrida 1.11 y posteriores, suele ser ENV_GROUP_NAME.

  3. Revierte los entornos. Repite el siguiente comando para cada entorno mencionado en el archivo de anulaciones.
    helm upgrade apigee-env-ENV_NAME $PREVIOUS_HELM_CHARTS_HOME/apigee-env/ \
      --install \
      --namespace apigee \
      --atomic \
      --set env=ENV_NAME \
      -f PREVIOUS_OVERRIDES_FILE
    

    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.

  4. Revierte la organización:
    helm upgrade ORG_NAME $PREVIOUS_HELM_CHARTS_HOME/apigee-org/ \
      --install \
      --namespace apigee \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  5. Revierte el administrador de Ingress:
    helm upgrade ingress-manager $PREVIOUS_HELM_CHARTS_HOME/apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  6. Revierte Redis:
    helm upgrade redis $PREVIOUS_HELM_CHARTS_HOME/apigee-redis/ \
      --install \
      --namespace apigee \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  7. Revierte la telemetría de Apigee:
    helm upgrade telemetry $PREVIOUS_HELM_CHARTS_HOME/apigee-telemetry/ \
      --install \
      --namespace apigee \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  8. Revierte el almacén de datos de Apigee (el componente de la base de datos de Cassandra):
    helm upgrade datastore $PREVIOUS_HELM_CHARTS_HOME/apigee-datastore/ \
      --install \
      --namespace apigee \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  9. Revierte el controlador de Apigee:
    helm upgrade operator $PREVIOUS_HELM_CHARTS_HOME/apigee-operator/ \
      --install \
      --namespace apigee-system \
      --atomic \
      -f PREVIOUS_OVERRIDES_FILE
    
  10. Revierte las CRD de Apigee Hybrid:
      kubectl apply -k  $PREVIOUS_HELM_CHARTS_HOME/apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false
    

apigeectl

  1. Limpia los trabajos completados del espacio de nombres del entorno de ejecución híbrido, en el que NAMESPACE es el espacio de nombres especificado en el archivo de anulaciones, si especificaste un espacio de nombres. De lo contrario, el espacio de nombres predeterminado será apigee:
    kubectl delete job -n NAMESPACE \
      $(kubectl get job -n NAMESPACE \
      -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  2. Limpia los trabajos completados del espacio de nombres apigee-system:
    kubectl delete job -n apigee-system \
      $(kubectl get job -n apigee-system \
      -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  3. Cambia la variable APIGEECTL_HOME para que apunte al directorio que contiene la versión previa de apigeectl. Por ejemplo:
    export APIGEECTL_HOME=PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY
  4. Ejecuta los siguientes comandos en el directorio raíz de la instalación a la que deseas revertir. Asegúrate de usar el archivo de anulaciones original para la versión a la que deseas revertir:
    1. En el directorio archivos híbridos, ejecuta apigeectl apply:
      $APIGEECTL_HOME/apigeectl apply -f ORIGINAL_OVERRIDES_FILE

      En el ejemplo anterior, ORIGINAL_OVERRIDES_FILE es la ruta relativa y el nombre de archivo del archivo de anulación de la instalación híbrida de la versión anterior, por ejemplo, ./overrides/overrides1.10.yaml.

    2. Verifica el estado de los pods:
      kubectl -n NAMESPACE get pods

      En el ejemplo anterior, NAMESPACE es el espacio de nombres híbrido de Apigee.

    3. Verifica el estado de apigeeds:
      kubectl describe apigeeds -n apigee

      Deberías obtener un resultado similar al siguiente:

      Status:
        Cassandra Data Replication:
        Cassandra Pod Ips:
          10.8.2.204
        Cassandra Ready Replicas:  1
        Components:
          Cassandra:
            Last Successfully Released Version:
              Revision:  v1-f8aa9a82b9f69613
              Version:   v1
            Replicas:
              Available:  1
              Ready:      1
              Total:      1
              Updated:    1
            State:        running
        Scaling:
          In Progress:         false
          Operation:
          Requested Replicas:  0
        State:                 running

      Continúa con el siguiente paso solo cuando el Pod apigeeds esté en ejecución.

    4. Ejecuta el siguiente comando para tomar nota de los valores nuevos de cantidad de réplicas del procesador de mensajes después de la actualización. Si estos valores no coinciden con lo que configuraste antes, cambia los valores en el archivo de anulación para que coincidan con tu configuración anterior.
      apigeectl apply -f ORIGINAL_OVERRIDES_FILE --dry-run=client --print-yaml --env ENV_NAME 2>/dev/null |grep "runtime:" -A 25 -B 1| grep "autoScaler" -A 2

      Deberías obtener un resultado similar al siguiente:

            autoScaler:
              minReplicas: 2
              maxReplicas: 10
    5. Ejecuta apigeectl init:
      $APIGEECTL_HOME/apigeectl init -f ORIGINAL_OVERRIDES_FILE