Este procedimiento abarca la actualización de la versión 1.9.x de Apigee Hybrid a la versión 1.10.5 de Apigee Hybrid y de las versiones anteriores de Hybrid 1.10.x a la versión 1.10.5.
Usa los mismos procedimientos para las actualizaciones de versiones secundarias (por ejemplo, de la versión 1.9 a la 1.10) y las actualizaciones de versiones de parches (por ejemplo, de 1.10.0 a 1.10.5).
Descripción general de la actualización a la versión 1.10.5
Los procedimientos para actualizar Apigee Hybrid se organizan en las siguientes secciones:
Requisitos previos
En estas instrucciones de actualización, se da por sentado que tienes instalada la versión 1.9.x de Apigee Hybrid y deseas actualizarla a la versión 1.10.5. Si estás actualizando desde una versión anterior, consulta las instrucciones para actualizar Apigee Hybrid 1.9.
Prepárate para actualizar a la versión 1.10
Crea una copia de seguridad de tu instalación híbrida (recomendado)
- 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 directorioapigeectl
y define la variable con el siguiente comando:export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
- Realiza una copia de seguridad de tu directorio
$APIGEECTL_HOME/
versión 1.9. Por ejemplo:tar -czvf $APIGEECTL_HOME/../apigeectl-v1.9-backup.tar.gz $APIGEECTL_HOME
- 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.9 y Hybrid 1.10. Si necesitas ayuda, sigue la documentación de la plataforma.
Haz clic para expandir una lista de plataformas compatibles
1.10
|
1.11 | 1.12 | |||
---|---|---|---|---|---|
GKE en Google Cloud | 1.24.x
1.25.x 1.26.x 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.25.x
1.26.x 1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.26.x
1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
GKE en AWS | 1.13.x (K8s v1.24.x)
1.14.x (K8s v1.25.x) 1.26.x(12) 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.14.x (K8s v1.25.x)
1.26.x(12) 1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.26.x(12)
1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
GKE en Azure | 1.13.x
1.14.x 1.26.x(12) 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.14.x
1.26.x(12) 1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.26.x(12)
1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
Google Distributed Cloud (solo software) en VMware (1) (13) | 1.13.x
1.14.x 1.15.x (K8s v1.26.x) 1.16.x (K8s v1.27.x) 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.14.x
1.15.x (K8s v1.26.x) 1.16.x (K8s v1.27.x) 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.15.x (K8s v1.26.x)
1.16.x (K8s v1.27.x) 1.28.x(12) 1.29.x(≥ 1.12.1) |
||
Google Distributed Cloud (solo software) en equipos físicos (1) | 1.13.x
1.14.x (K8s v1.25.x) 1.15.x (K8s v1.26.x) 1.16.x (K8s v1.27.x) 1.27.x(12)(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.14.x
1.15.x (K8s v1.26.x) 1.16.x (K8s v1.27.x) 1.28.x(12)(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.15.x (K8s v1.26.x)
1.16.x (K8s v1.27.x) 1.28.x(12) 1.29.x(≥ 1.12.1) |
||
EKS(7) | 1.24.x
1.25.x 1.26.x 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.25.x
1.26.x 1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.26.x
1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
AKS(7) | 1.24.x
1.25.x 1.26.x 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.25.x
1.26.x 1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.26.x
1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
OpenShift(7) | 4.11
4.12 4.14(≥ 1.10.5) 4.15(≥ 1.10.5) |
4.12
4.13 4.14 4.15(≥ 1.11.2) 4.16(≥ 1.11.2) |
4.12
4.13 4.14 4.15 4.16(≥ 1.12.1) |
||
Rancher Kubernetes Engine (RKE) |
v1.26.2+rke2r1
1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
v1.26.2+rke2r1
v1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
v1.26.2+rke2r1 v1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
VMware Tanzu | N/A | N/A | v1.26.x | ||
Componentes |
1.10 | 1.11 | 1.12 | ||
Anthos Service Mesh | 1.17.x(10) | 1.18.x(10) | 1.19.x(10) | ||
JDK | JDK 11 | JDK 11 | JDK 11 | ||
cert-manager |
1.10.x 1.11.x 1.12.x |
1.11.x 1.12.x 1.13.x |
1.11.x 1.12.x 1.13.x |
||
Cassandra | 3.11 | 3.11 | 4.0 | ||
Kubernetes | 1.24.x 1.25.x 1.26.x |
1.25.x 1.26.x 1.27.x |
1.26.x 1.27.x 1.28.x |
||
kubectl | 1.27.x 1.28.x 1.29.x |
||||
Helm | 3.10+ | 3.10+ | 3.14.2+ | ||
Controlador de CSI de Secret Store | 1.3.4 | 1.4.1 | |||
Vault | 1.13.x | 1.15.2 | |||
(1) En la versión 1.13 de Anthos local (Google Distributed Cloud), sigue estas instrucciones para evitar conflictos con (2) Compatibilidad disponible con la versión 1.7.2 de Apigee Hybrid y posteriores. (3) Se alcanzaron las fechas oficiales de EOL para las versiones 1.10 y posteriores de Apigee hybrid. Los parches mensuales regulares ya no están disponibles. Estas versiones ya no son oficialmente compatibles, excepto para los clientes con excepciones explícitas y oficiales para la asistencia continua. Otros clientes deben actualizar. (4) Las versiones 1.12 y anteriores de Anthos local (Google Distributed Cloud) ya no son compatibles. Consulta la política de compatibilidad de versiones de Distributed Cloud en Bare Metal y la lista de versiones compatibles de Distributed Cloud en VMware. (5)Google Distributed Cloud en Bare Metal o VMware requiere Anthos Service Mesh 1.14 o una versión posterior. Te recomendamos que actualices a la versión híbrida 1.8 y cambies a la puerta de enlace de entrada de Apigee, que ya no requiere que instales Anthos Service Mesh en tu clúster híbrido. (6) Compatibilidad disponible con la versión 1.8.4 de Apigee Hybrid y posteriores.. (7) No es compatible con la versión 1.8.4 de Apigee Hybrid y las versiones posteriores. (8) Compatibilidad disponible con la versión 1.7.6 de Apigee Hybrid y posteriores.. (9) No es compatible con la versión híbrida 1.8.5 de Apigee y las versiones posteriores. (10) Anthos Service Mesh se instala automáticamente con Apigee Hybrid 1.9 y versiones posteriores. (11) Compatibilidad disponible con la versión 1.9.2 de Apigee Hybrid y posteriores.. (12) Los números de versiones de GKE en AWS ahora reflejan las versiones de Kubernetes. Consulta la compatibilidad con versiones y actualizaciones de GKE Enterprise para obtener detalles de las versiones y parches recomendados. (13) Vault no está certificado en Google Distributed Cloud para VMware. (14) Compatibilidad disponible con la versión 1.10.5 de Apigee Hybrid y posteriores.. (15) Compatibilidad disponible con la versión 1.11.2 de Apigee Hybrid y posteriores. (16) Compatibilidad disponible con la versión 1.12.1 de Apigee Hybrid y posteriores. |
Acerca de los clústeres adjuntos
Para las versiones de Apigee Hybrid 1.7.x y anteriores, debes usar clústeres adjuntos de GKE si deseas ejecutar Apigee Hybrid en un contexto de múltiples nubes en Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS) o algún otro proveedor de servicios de Kubernetes compatible de terceros. El adjunto de clúster permite que Google mida el uso de Anthos Service Mesh (ASM).
En la versión 1.8.x de Apigee Hybrid, se requieren clústeres adjuntos de GKE si usas Anthos Service Mesh para la puerta de enlace de entrada. Si usas la puerta de enlace de entrada de Apigee, los clústeres adjuntos son opcionales.
Instala el entorno Hybrid 1.10.5
- 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/..
-
Descarga el paquete de lanzamientos para tu sistema operativo con el siguiente comando. Asegúrate de seleccionar tu plataforma en la siguiente tabla:
Linux de 64 bits
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_linux_64.tar.gz
Mac (64 bits)
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_mac_64.tar.gz
Windows de 64 bits
curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_windows_64.zip
- Cambia el nombre de tu directorio
apigeectl/
actual por un nombre de directorio de copia de seguridad. Por ejemplo:mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/
rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.9
-
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.9
al que se le cambió el nombre:tar xvzf
filename .tar.gz -C ./tar xvzf
filename .tar.gz -C ./tar xvzf
filename .zip -C ./ -
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.10.5-xxxxxxx_linux_64
. Cambia el nombre de ese directorio aapigeectl
con el siguiente comando:mv
apigeectl_1.10.5-xxxxxxx_linux_64 apigeectlmv
apigeectl_1.10.5-xxxxxxx_mac_64 apigeectlrename
apigeectl_1.10.5-xxxxxxx_windows_64 apigeectl -
Cambia al directorio
apigeectl
:cd ./apigeectl
Este directorio es el directorio principal de
apigeectl
. Es donde se encuentra el comando ejecutableapigeectl
. - 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 utilidadapigeectl
. Si es necesario, cambia el directorio a tu directorioapigeectl
y define la variable con el siguiente comando:export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
- Verifica la versión de
apigeectl
con el comandoversion
:./apigeectl version
Version: 1.10.5
- Crea un directorio
hybrid-base-directory/hybrid-files
y muévelo a él. El directoriohybrid-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:mkdir $APIGEECTL_HOME/../hybrid-files
cd $APIGEECTL_HOME/../hybrid-files
mkdir $APIGEECTL_HOME/../hybrid-files
cd $APIGEECTL_HOME/../hybrid-files
mkdir %APIGEECTL_HOME%/../hybrid-files
cd %APIGEECTL_HOME%/../hybrid-files
- 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 \*
- En el directorio
hybrid-files
:-
Actualiza los siguientes vínculos simbólicos a
$APIGEECTL_HOME
. Estos vínculos te permiten ejecutar el comandoapigeectl
recién instalado desde el directoriohybrid-files
:ln -nfs
$APIGEECTL_HOME
/tools toolsln -nfs
$APIGEECTL_HOME
/config configln -nfs
$APIGEECTL_HOME
/templates templatesln -nfs
$APIGEECTL_HOME
/plugins plugins -
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
-
Actualiza los siguientes vínculos simbólicos a
- Realiza el siguiente cambio en tu archivo overrides.yaml para habilitar el chart
apigee-operator
o usar la etiqueta correcta,1.10.5-hotfix.1
:ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1"
- Realiza una inicialización de prueba de validación para verificar si hay errores:
${APIGEECTL_HOME}/apigeectl init -f
OVERRIDES_FILE --dry-run=clientEn el ejemplo anterior, OVERRIDES_FILE es el nombre del archivo de anulación, por ejemplo,
./overrides/overrides.yaml
. - Si no hay errores, inicializa hybrid 1.10.5:
$APIGEECTL_HOME/apigeectl init -f
OVERRIDES_FILE - 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
. - 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 - 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.
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.
- Asegúrate de que estés en el directorio
hybrid-files
. - Aplica tus anulaciones para actualizar Cassandra:
$APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE --datastore - 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.
- 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 - Abre los componentes de Redis:
$APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE --redis - 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 - 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 --envENV_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
- Entorno por entorno: Aplica tus anulaciones a un entorno a la vez y verifica la finalización. Repite este paso para cada entorno:
- 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
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.
- Asegúrate de que estés en el directorio
hybrid-files
. $APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE - Verifica el estado:
$APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE
- Asegúrate de que estés en el directorio
Revierte una actualización
Sigue estos pasos para revertir una actualización anterior:
- 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 -nNAMESPACE \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}') - 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}')
- Cambia la variable
APIGEECTL_HOME
para que apunte al directorio que contiene la versión previa deapigeectl
. Por ejemplo:export APIGEECTL_HOME=
PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY - En el directorio raíz de la instalación a la que deseas revertir, ejecuta
apigeectl apply
, verifica el estado de los Pods y, luego, ejecutaapigeectl init
. Asegúrate de usar el archivo de anulaciones original para la versión a la que deseas revertir:- En el directorio archivos híbridos, ejecuta
apigeectl apply
:$APIGEECTL_HOME
/apigeectl apply -fORIGINAL_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.9.yaml
. - Verifica el estado de los pods:
kubectl -n
NAMESPACE get podsEn el ejemplo anterior, NAMESPACE es el espacio de nombres híbrido de Apigee.
- 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. - 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 2Deberías obtener un resultado similar al siguiente:
autoScaler: minReplicas: 2 maxReplicas: 10
- Ejecuta
apigeectl init
:$APIGEECTL_HOME
/apigeectl init -fORIGINAL_OVERRIDES_FILE
- En el directorio archivos híbridos, ejecuta