Actualización de Apigee híbrido a la versión 1.14

{% setvar download_url %}https://storage.googleapis.com/gke-release/asm/{% endsetvar %} {% setvar install_root_version %}istio-1.25.0-asm.8{% endsetvar %} {% setvar asm_version %}1.25.0-asm.8{% endsetvar %} {% setvar revision_label %}asm-1250-8{% endsetvar %} {% setvar anterior_revision %}asm-1243-6{% endsetvar %} {% setvar asm_version_short %}1.25.0{% endsetvar %} {% setvar asm_minor_version %}1.25{% endsetvar %} {% setvar early_supported_version %}1.23{% endsetvar %} {% setvar old_supported_asm_version %}1.23+{% endsetvar %} {% setvar script_version %}install_asm_1.25{% endsetvar %} {% setvar name_label %}1250-8{% endsetvar %} {% setvar name_label_previous %}1243-6{% endsetvar %} {% setvar asmcli_version %}asmcli_1.25{% endsetvar %} {% setvar Upgrade_from_versions %}1.15 o una versión de parche 1.16{% endsetvar %} {% setvar asm_packages_branch %}versión-1.25{% endsetvar %} {% setvar asm_packages_branch_n_minus_one %}versión-1.24-asm{% endsetvar %} {% setvar install_root_version_n_minus_one %}istio-1.24.3-asm.6{% endsetvar %} {% setvar asm_version_n_minus_one %}1.24.3-asm.6{% endsetvar %} {% setvar asm_version_n_minus_one_short %}1.24.3{% endsetvar %} {% setvar mcp_release_channel %}asm-managed-regular{% endsetvar %} {% setvar istio_version %}v1.24{% endsetvar %} {% setvar anthos_version %}1.9{% endsetvar %} {% setvar rapid_version %}1.20{% endsetvar %} {% setvar regular_version %}1.19{% endsetvar %} {% setvar stable_version %}1.19{% endsetvar %} {% setvar user_auth_version %}v1.2.5{% endsetvar %} , {% setvar download_url %}https://storage.googleapis.com/gke-release/asm/{% endsetvar %} {% setvar install_root_version %}istio-1.25.0-asm.8{% endsetvar %} {% setvar asm_version %}1.25.0-asm.8{% endsetvar %} {% setvar revision_label %}asm-1250-8{% endsetvar %} {% setvar anterior_revision %}asm-1243-6{% endsetvar %} {% setvar asm_version_short %}1.25.0{% endsetvar %} {% setvar asm_minor_version %}1.25{% endsetvar %} {% setvar early_supported_version %}1.23{% endsetvar %} {% setvar old_supported_asm_version %}1.23+{% endsetvar %} {% setvar script_version %}install_asm_1.25{% endsetvar %} {% setvar name_label %}1250-8{% endsetvar %} {% setvar name_label_previous %}1243-6{% endsetvar %} {% setvar asmcli_version %}asmcli_1.25{% endsetvar %} {% setvar Upgrade_from_versions %}1.15 o una versión de parche 1.16{% endsetvar %} {% setvar asm_packages_branch %}versión-1.25{% endsetvar %} {% setvar asm_packages_branch_n_minus_one %}versión-1.24-asm{% endsetvar %} {% setvar install_root_version_n_minus_one %}istio-1.24.3-asm.6{% endsetvar %} {% setvar asm_version_n_minus_one %}1.24.3-asm.6{% endsetvar %} {% setvar asm_version_n_minus_one_short %}1.24.3{% endsetvar %} {% setvar mcp_release_channel %}asm-managed-regular{% endsetvar %} {% setvar istio_version %}v1.24{% endsetvar %} {% setvar anthos_version %}1.9{% endsetvar %} {% setvar rapid_version %}1.20{% endsetvar %} {% setvar regular_version %}1.19{% endsetvar %} {% setvar stable_version %}1.19{% endsetvar %} {% setvar user_auth_version %}v1.2.5{% endsetvar %} , {% setvar download_url %}https://storage.googleapis.com/gke-release/asm/{% endsetvar %} {% setvar install_root_version %}istio-1.25.0-asm.8{% endsetvar %} {% setvar asm_version %}1.25.0-asm.8{% endsetvar %} {% setvar revision_label %}asm-1250-8{% endsetvar %} {% setvar anterior_revision %}asm-1243-6{% endsetvar %} {% setvar asm_version_short %}1.25.0{% endsetvar %} {% setvar asm_minor_version %}1.25{% endsetvar %} {% setvar early_supported_version %}1.23{% endsetvar %} {% setvar old_supported_asm_version %}1.23+{% endsetvar %} {% setvar script_version %}install_asm_1.25{% endsetvar %} {% setvar name_label %}1250-8{% endsetvar %} {% setvar name_label_previous %}1243-6{% endsetvar %} {% setvar asmcli_version %}asmcli_1.25{% endsetvar %} {% setvar Upgrade_from_versions %}1.15 o una versión de parche 1.16{% endsetvar %} {% setvar asm_packages_branch %}versión-1.25{% endsetvar %} {% setvar asm_packages_branch_n_minus_one %}versión-1.24-asm{% endsetvar %} {% setvar install_root_version_n_minus_one %}istio-1.24.3-asm.6{% endsetvar %} {% setvar asm_version_n_minus_one %}1.24.3-asm.6{% endsetvar %} {% setvar asm_version_n_minus_one_short %}1.24.3{% endsetvar %} {% setvar mcp_release_channel %}asm-managed-regular{% endsetvar %} {% setvar istio_version %}v1.24{% endsetvar %} {% setvar anthos_version %}1.9{% endsetvar %} {% setvar rapid_version %}1.20{% endsetvar %} {% setvar regular_version %}1.19{% endsetvar %} {% setvar stable_version %}1.19{% endsetvar %} {% setvar user_auth_version %}v1.2.5{% endsetvar %} , {% setvar download_url %}https://storage.googleapis.com/gke-release/asm/{% endsetvar %} {% setvar install_root_version %}istio-1.25.0-asm.8{% endsetvar %} {% setvar asm_version %}1.25.0-asm.8{% endsetvar %} {% setvar revision_label %}asm-1250-8{% endsetvar %} {% setvar anterior_revision %}asm-1243-6{% endsetvar %} {% setvar asm_version_short %}1.25.0{% endsetvar %} {% setvar asm_minor_version %}1.25{% endsetvar %} {% setvar early_supported_version %}1.23{% endsetvar %} {% setvar old_supported_asm_version %}1.23+{% endsetvar %} {% setvar script_version %}install_asm_1.25{% endsetvar %} {% setvar name_label %}1250-8{% endsetvar %} {% setvar name_label_previous %}1243-6{% endsetvar %} {% setvar asmcli_version %}asmcli_1.25{% endsetvar %} {% setvar Upgrade_from_versions %}1.15 o una versión de parche 1.16{% endsetvar %} {% setvar asm_packages_branch %}versión-1.25{% endsetvar %} {% setvar asm_packages_branch_n_minus_one %}versión-1.24-asm{% endsetvar %} {% setvar install_root_version_n_minus_one %}istio-1.24.3-asm.6{% endsetvar %} {% setvar asm_version_n_minus_one %}1.24.3-asm.6{% endsetvar %} {% setvar asm_version_n_minus_one_short %}1.24.3{% endsetvar %} {% setvar mcp_release_channel %}asm-managed-regular{% endsetvar %} {% setvar istio_version %}v1.24{% endsetvar %} {% setvar anthos_version %}1.9{% endsetvar %} {% setvar rapid_version %}1.20{% endsetvar %} {% setvar regular_version %}1.19{% endsetvar %} {% setvar stable_version %}1.19{% endsetvar %} {% setvar user_auth_version %}v1.2.5{% endsetvar %}

Este procedimiento cubre la actualización de Apigee versión híbrida 1.13.x a Apigee versión híbrida 1.14.2 y de versiones anteriores de Apigee híbrida 1.14.x a la versión 1.14.2.

Utilice los mismos procedimientos para actualizaciones de versiones menores (por ejemplo, de la versión 1.13 a la 1.14) y para actualizaciones de versiones de parches (por ejemplo, de la 1.4.1 a la 1.14.2).

Si actualiza desde la versión 1.12 o anterior de Apigee Hybrid, primero debe actualizar a la versión 1.13 antes de actualizar a la 1.14.2. Consulte las instrucciones para actualizar Apigee Hybrid a la versión 1.13 .

Cambios de Apigee hybrid v1.13

Tenga en cuenta los siguientes cambios:

  • A partir de la versión 1.14, los componentes del plano de datos escriben datos directamente en el plano de control de forma predeterminada. Esto proporciona mayor fiabilidad y cumplimiento normativo para los datos de análisis y depuración. Consulte Recopilación de datos de análisis y depuración con residencia de datos .
  • Anthos (en bare metal o VMware) ahora es Google Distributed Cloud (para bare metal o VMware) : para obtener más información, consulte las descripciones generales de los productos Google Distributed Cloud para bare metal y Google Distributed Cloud para VMware .
  • Comprobaciones más estrictas de instanciación de clases : A partir de la versión 1.14.1 de Apigee Hybrid, la política JavaCallout ahora incluye seguridad adicional durante la instanciación de clases Java. Esta medida de seguridad mejorada impide la implementación de políticas que, directa o indirectamente, intenten realizar acciones que requieran permisos no permitidos.

    En la mayoría de los casos, las políticas existentes seguirán funcionando correctamente sin problemas. Sin embargo, es posible que las políticas que dependen de bibliotecas de terceros o aquellas con código personalizado que activan indirectamente operaciones que requieren permisos elevados se vean afectadas.

Para obtener información adicional sobre las características de la versión híbrida 1.14, consulte las notas de la versión híbrida v1.14.0 de Apigee .

Prerrequisitos

Antes de actualizar a la versión híbrida 1.14, asegúrese de que su instalación cumpla con los siguientes requisitos:

Antes de actualizar a 1.14.2: limitaciones y notas importantes

  • Apigee Hybrid 1.14.2 introduce un nuevo límite mejorado de proxy por entorno que permite implementar más proxies y flujos compartidos en un solo entorno. Consulte Límites: Proxies de API para comprender los límites en la cantidad de proxies y flujos compartidos que puede implementar por entorno. Esta función solo está disponible en organizaciones híbridas recién creadas y no se puede aplicar a organizaciones actualizadas. Para usar esta función, realice una nueva instalación de la versión híbrida 1.14.2 y cree una nueva organización.

    Esta función está disponible exclusivamente como parte del plan de suscripción 2024 y está sujeta a los derechos otorgados en dicha suscripción. Consulte "Límites de proxy mejorados por entorno" para obtener más información sobre esta función.

  • La actualización a la versión híbrida 1.14 de Apigee puede requerir tiempo de inactividad.

    Al actualizar el controlador de Apigee a la versión 1.14.2, todas las implementaciones de Apigee se reinician gradualmente. Para minimizar el tiempo de inactividad en entornos híbridos de producción durante un reinicio gradual, asegúrese de ejecutar al menos dos clústeres (en la misma región o centro de datos, o en uno diferente). Desvíe todo el tráfico de producción a un solo clúster, desconecte el clúster que va a actualizar y, a continuación, continúe con el proceso de actualización. Repita el proceso para cada clúster.

    Apigee recomienda que, una vez iniciada la actualización, actualice todos los clústeres lo antes posible para reducir el riesgo de impacto en la producción. No hay límite de tiempo para actualizar los clústeres restantes después de actualizar el primero. Sin embargo, hasta que se actualicen todos los clústeres restantes, Cassandra Backup and Restore no funcionará con versiones mixtas. Por ejemplo, una copia de seguridad de Hybrid 1.13 no se puede usar para restaurar una instancia de Hybrid 1.14.

  • No es necesario suspender completamente los cambios en el plano de administración durante una actualización. Cualquier suspensión temporal necesaria para los cambios en el plano de administración se indica en las instrucciones de actualización a continuación.

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

Los procedimientos para actualizar Apigee híbrido están organizados en las siguientes secciones:

  1. Prepárese para actualizar .
  2. Instalar la versión 1.14.2 del entorno de ejecución híbrido .

Prepárese para actualizar a la versión 1.14

Realice una copia de seguridad de su instalación híbrida

  1. Estas instrucciones utilizan la variable de entorno APIGEE_HELM_CHARTS_HOME para el directorio de su sistema de archivos donde instaló los gráficos de Helm. Si es necesario, cambie a este directorio y defina la variable con el siguiente comando:

    Linux

    export APIGEE_HELM_CHARTS_HOME=$PWD
    echo $APIGEE_HELM_CHARTS_HOME

    Sistema operativo Mac

    export APIGEE_HELM_CHARTS_HOME=$PWD
    echo $APIGEE_HELM_CHARTS_HOME

    Ventanas

    set APIGEE_HELM_CHARTS_HOME=%CD%
    echo %APIGEE_HELM_CHARTS_HOME%
  2. Realice una copia de seguridad de su directorio $APIGEE_HELM_CHARTS_HOME/ de la versión 1.13. Puede usar cualquier método de copia de seguridad. Por ejemplo, puede crear un archivo tar de todo su directorio con:
    tar -czvf $APIGEE_HELM_CHARTS_HOME/../apigee-helm-charts-v1.13-backup.tar.gz $APIGEE_HELM_CHARTS_HOME
  3. Haga una copia de seguridad de su base de datos de Cassandra siguiendo las instrucciones en Copia de seguridad y recuperación de Cassandra .
  4. Si utiliza archivos de certificado de servicio ( .json ) en sus anulaciones para autenticar cuentas de servicio, asegúrese de que dichos archivos se encuentren en el directorio correcto de gráficos de Helm. Los gráficos de Helm no pueden leer archivos fuera de cada directorio.

    Este paso no es necesario si está utilizando secretos de Kubernetes o Workload Identity para autenticar cuentas de servicio.

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

    Pinchar

    Cuenta de servicio Nombre de archivo predeterminado Directorio de cartas 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

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

    Cuenta de servicio Nombre de archivo predeterminado Directorios de cartas 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úrese de que su certificado TLS y los archivos de clave ( .crt , .key y/o .pem ) residan en el directorio $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/ .

Actualice su versión de Kubernetes

Verifique la versión de su plataforma Kubernetes y, si es necesario, actualícela a una versión compatible con las versiones híbridas 1.13 e híbrida 1.14. Consulte la documentación de su plataforma si necesita ayuda.

Instalar el entorno de ejecución híbrido 1.14.2

Configurar el flujo de recopilación de datos.

A partir de la versión híbrida v1.14, la nueva canalización de datos de análisis y depuración está habilitada de forma predeterminada para todas las organizaciones híbridas de Apigee. Debe seguir los pasos de "Habilitar el acceso del editor de análisis" para configurar el flujo de autorización.

Prepárese para la actualización de las cartas de Helm

  1. Extraiga los gráficos de Apigee Helm.

    Los gráficos híbridos de Apigee están alojados en Google Artifact Registry :

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

    Usando el comando pull , copie todos los gráficos Helm híbridos de Apigee a su almacenamiento local con el siguiente comando:

    export CHART_REPO=oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
    export CHART_VERSION=1.14.2-hotfix.1
    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
    
  2. Actualice cert-manager si es necesario.

    Si necesita actualizar su versión de cert-manager, instale la nueva versión con el siguiente comando:

    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.16.3/cert-manager.yaml
    

    Consulte Plataformas y versiones compatibles: cert-manager para obtener una lista de versiones compatibles.

  3. Si su espacio de nombres Apigee no es apigee , edite el archivo apigee-operator/etc/crds/default/kustomization.yaml y reemplace el valor namespace con su espacio de nombres Apigee.
    apiVersion: kustomize.config.k8s.io/v1beta1
    kind: Kustomization
    
    namespace: APIGEE_NAMESPACE
    

    Si está utilizando apigee como espacio de nombres, no necesita editar el archivo.

  4. Instale los CRD de Apigee actualizados:
    1. Utilice la función de ejecución en seco kubectl ejecutando el 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 dry-run, ejecute el siguiente comando:

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

      El resultado debería verse más o menos así:

      apigeedatastores.apigee.cloud.google.com                    2024-08-21T14:48:30Z
      apigeedeployments.apigee.cloud.google.com                   2024-08-21T14:48:30Z
      apigeeenvironments.apigee.cloud.google.com                  2024-08-21T14:48:31Z
      apigeeissues.apigee.cloud.google.com                        2024-08-21T14:48:31Z
      apigeeorganizations.apigee.cloud.google.com                 2024-08-21T14:48:32Z
      apigeeredis.apigee.cloud.google.com                         2024-08-21T14:48:33Z
      apigeerouteconfigs.apigee.cloud.google.com                  2024-08-21T14:48:33Z
      apigeeroutes.apigee.cloud.google.com                        2024-08-21T14:48:33Z
      apigeetelemetries.apigee.cloud.google.com                   2024-08-21T14:48:34Z
      cassandradatareplications.apigee.cloud.google.com           2024-08-21T14:48:35Z
      
  5. Revisa las etiquetas de 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 de tiempo de ejecución en los 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, consulte Configuración de grupos de nodos dedicados .

  6. Opcional : Realice este paso si necesita permitir el uso del combinador allOf junto con la configuración :additionalProperties: true en su especificación OAS. En el archivo de anulaciones, agregue o actualice la sección runtime para habilitar el uso del combinador allOf en su especificación OAS. Para obtener más información, consulte las notas de la versión de Apigee hybrid v1.14.2-hotfix.1 .
    runtime:
      cwcAppend:
        conf_message-processor-communication_oas.disable.resolve.combinator: true
    

Instalar los gráficos Helm híbridos de Apigee

  1. Si aún no lo ha hecho, acceda al directorio APIGEE_HELM_CHARTS_HOME . Ejecute los siguientes comandos desde allí.
  2. Actualizar el operador/controlador de Apigee:

    Prueba en seco:

    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    Actualizar el gráfico:

    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      -f OVERRIDES_FILE
    

    Verificar la instalación del operador Apigee:

    helm ls -n APIGEE_NAMESPACE
    
    NAME       NAMESPACE       REVISION   UPDATED                                STATUS     CHART                   APP VERSION
    operator   apigee   3          2024-08-21 00:42:44.492009 -0800 PST   deployed   apigee-operator-1.14.2   1.14.2
    

    Verifique que esté en funcionamiento verificando su disponibilidad:

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

    Prueba en seco:

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

    Actualizar el gráfico:

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

    Verifique que apigeedatastore esté en funcionamiento verificando su estado:

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

    Prueba en seco:

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

    Actualizar el gráfico:

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

    Verifique que esté en funcionamiento verificando su estado:

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

    Prueba en seco:

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

    Actualizar el gráfico:

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

    Verifique que esté en funcionamiento verificando su estado:

    kubectl -n APIGEE_NAMESPACE get apigeeredis default
    
    NAME      STATE     AGE
    default   running   2d
  6. Actualizar el administrador de ingreso de Apigee:

    Prueba en seco:

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

    Actualizar el gráfico:

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

    Verifique que esté en funcionamiento verificando su disponibilidad:

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

    Prueba en seco:

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

    Actualizar el gráfico:

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

    Verifique que esté en funcionamiento verificando el estado de la organización respectiva:

    kubectl -n APIGEE_NAMESPACE get apigeeorg
    
    NAME                      STATE     AGE
    apigee-org1-xxxxx          running   2d
  8. Mejorar el medio ambiente.

    Debe instalar un entorno a la vez. Especifique el entorno con --set env= ENV_NAME .

    Prueba en seco:

    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 un nombre que se utiliza para realizar un seguimiento de la instalación y las actualizaciones del diagrama apigee-env . Este nombre debe ser único respecto a los demás nombres de versiones de Helm de su instalación. Normalmente, coincide con ENV_NAME . Sin embargo, si su entorno tiene el mismo nombre que su grupo de entornos, debe usar nombres de versión diferentes para el entorno y el grupo de entornos, por ejemplo dev-env-release y dev-envgroup-release . Para obtener más información sobre las versiones de Helm, consulte "Tres conceptos importantes: class="external"" en la documentación de Helm.
    • ENV_NAME es el nombre del entorno que está actualizando.
    • OVERRIDES_FILE es su nuevo archivo de anulaciones para v.1.14.2

    Actualizar el gráfico:

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

    Verifique que esté en funcionamiento verificando el estado del entorno respectivo:

    kubectl -n APIGEE_NAMESPACE get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    apigee-org1-dev-xxx            running     2d
  9. Actualizar los grupos de entorno ( virtualhosts ).
    1. Debe actualizar un grupo de entornos (host virtual) a la vez. Especifique el grupo de entornos con --set envgroup= ENV_GROUP_NAME . Repita los siguientes comandos para cada grupo de entornos mencionado en el archivo overrides.yaml:

      Prueba en seco:

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

      ENV_GROUP_RELEASE_NAME es el nombre con el que instaló previamente el gráfico apigee-virtualhost . Normalmente es ENV_GROUP_NAME .

      Actualizar el gráfico:

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

      La instalación de los virtualhosts crea ApigeeRouteConfig (ARC), que crea internamente ApigeeRoute (AR) una vez que el observador de Apigee extrae los detalles relacionados con el grupo de entorno del plano de control. Por lo tanto, compruebe que el estado del AR correspondiente sea "en ejecución":

      kubectl -n APIGEE_NAMESPACE get arc
      
      NAME                                STATE   AGE
      apigee-org1-dev-egroup                       2d
      kubectl -n APIGEE_NAMESPACE get ar
      
      NAME                                        STATE     AGE
      apigee-org1-dev-egroup-xxxxxx                running   2d
  10. Después de haber verificado que todas las instalaciones se actualizaron correctamente, elimine la versión anterior apigee-operator del espacio de nombres apigee-system .
    1. Desinstalar la versión anterior operator :
      helm delete operator -n apigee-system
      
    2. Eliminar el espacio de nombres apigee-system :
      kubectl delete namespace apigee-system
      
  11. Actualice nuevamente operator en su espacio de nombres de Apigee para volver a instalar los recursos con alcance de clúster eliminados:
    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --atomic \
      -f overrides.yaml
    

Utilice este procedimiento para validar el comportamiento de la política JavaCallout después de actualizar de 1.14.0 o anterior a 1.14.1 o posterior.

  1. Compruebe si los archivos JAR de Java solicitan permisos innecesarios .

    Tras implementar la política, revise los registros de ejecución para ver si aparece el siguiente mensaje: "Failed to load and initialize class ..." . Si observa este mensaje, indica que el JAR implementado solicitó permisos innecesarios. Para solucionar este problema, investigue el código Java y actualice el archivo JAR.

  2. Investigar y actualizar el código Java .

    Revise el código Java (incluidas las dependencias) para identificar la causa de posibles operaciones no permitidas. Si la encuentra, modifique el código fuente según sea necesario.

  3. Pruebe las políticas con la comprobación de seguridad habilitada .

    En un entorno que no sea de producción , active la comprobación de seguridad y vuelva a implementar sus políticas con un JAR actualizado. Para configurar la comprobación:

    • En el archivo apigee-env/values.yaml , configure conf_security-secure.constructor.only como true en runtime:cwcAppend: . Por ejemplo:
      # Apigee Runtime
      runtime:
        cwcAppend:
          conf_security-secure.constructor.only: true
    • Actualice el gráfico apigee-env del entorno para aplicar el cambio. Por ejemplo:
      helm upgrade ENV_RELEASE_NAME apigee-env/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        --set env=ENV_NAME \
        -f OVERRIDES_FILE

        ENV_RELEASE_NAME es un nombre que se utiliza para realizar un seguimiento de la instalación y las actualizaciones del diagrama apigee-env . Este nombre debe ser único respecto a los demás nombres de versiones de Helm de su instalación. Normalmente, coincide con ENV_NAME . Sin embargo, si su entorno tiene el mismo nombre que su grupo de entornos, debe usar nombres de versión diferentes para el entorno y el grupo de entornos, por ejemplo dev-env-release y dev-envgroup-release . Para obtener más información sobre las versiones de Helm, consulte "Tres conceptos importantes: class="external"" en la documentación de Helm.

    Si el mensaje de registro "Failed to load and initialize class ..." sigue presente, continúe modificando y probando el JAR hasta que el mensaje de registro ya no aparezca.

  4. Habilitar la comprobación de seguridad en el entorno de producción .

    Después de haber probado y verificado exhaustivamente el archivo JAR en el entorno de no producción, habilite la verificación de seguridad en su entorno de producción configurando el indicador conf_security-secure.constructor.only en true y actualizando el gráfico apigee-env para el entorno de producción para aplicar el cambio.

Volver a una versión anterior

Para volver a la versión anterior, use la versión anterior del gráfico para revertir el proceso de actualización en orden inverso. Comience con apigee-virtualhost y continúe hasta apigee-operator . Luego, revierta los CRD.

  1. Revierte todos los gráficos de apigee-virtualhost a apigee-datastore . Los siguientes comandos asumen que estás usando los gráficos de la versión anterior (v1.13.x).

    Ejecute el siguiente comando para cada grupo de entorno:

    helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
      --install \
      --namespace apigee \
      --atomic \
      --set envgroup=ENV_GROUP_NAME \
      -f 1.13_OVERRIDES_FILE
    

    Ejecute el siguiente comando para cada entorno:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace apigee \
      --atomic \
      --set env=ENV_NAME \
      -f 1.13_OVERRIDES_FILE
    

    Revertir los gráficos restantes excepto apigee-operator .

    helm upgrade ORG_NAME apigee-org/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade redis apigee-redis/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
  2. Cree el espacio de nombres apigee-system .
    kubectl create namespace apigee-system
    
  3. Parchee la anotación de recursos nuevamente al espacio de nombres apigee-system .
    kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-namespace='apigee-system'
    
  4. Si también ha cambiado el nombre de la versión, actualice la anotación con el nombre de la versión operator .
    kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-name='operator'
    
  5. Instale apigee-operator nuevamente en el espacio de nombres apigee-system .
    helm upgrade operator apigee-operator/ \
      --install \
      --namespace apigee-system \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
  6. Revierta los CRD reinstalando los CRD más antiguos.
    kubectl apply -k apigee-operator/etc/crds/default/ \
      --server-side \
      --force-conflicts \
      --validate=false
    
  7. Limpie la versión apigee-operator del espacio de nombres APIGEE_NAMESPACE para completar el proceso de reversión.
    helm uninstall operator -n APIGEE_NAMESPACE
    
  8. Algunos recursos de clúster, como clusterIssuer , se eliminan al desinstalar operator . Reinstálelos con el siguiente comando:
    helm upgrade operator apigee-operator/ \
      --install \
      --namespace apigee-system \
      --atomic \
      -f 1.13_OVERRIDES_FILE