Actualizar Apigee Hybrid a la versión 1.4

Si vas a actualizar desde la versión 1.2 o una anterior de Apigee hybrid, primero debes actualizar a la versión 1.3 antes de actualizar a la 1.4.4. Consulta las instrucciones para actualizar Apigee hybrid a la versión 1.3.

Información general sobre la actualización a la versión 1.4.4.

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

  1. Crea una copia de seguridad de tu instalación híbrida.
  2. Comprueba tu versión de Kubernetes y actualízala si es necesario.
  3. Actualiza ASM.
  4. Instala la versión 1.4 del entorno de ejecución híbrido.

Requisitos previos

Actualizar a la versión 1.4

  1. (Recomendado) Haz una copia de seguridad del directorio $APIGEECTL_HOME/ de la versión 1.3. Por ejemplo:
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.3-backup.tar.gz $APIGEECTL_HOME
  2. (Recomendado) Crea una copia de seguridad de tu base de datos de Cassandra siguiendo las instrucciones de Copia de seguridad y recuperación de Cassandra.
  3. Actualiza tu plataforma de Kubernetes de la siguiente manera. Consulta la documentación de tu plataforma si necesitas ayuda:
    Plataforma Actualizar a la versión
    GKE 1.18.x
    GKE On-Prem (Anthos) 1.5.x
    AKS 1.18.x con clústeres vinculados de Anthos
    EKS 1.18.x con clústeres vinculados de Anthos
  4. Actualiza ASM a la versión 1.6.x.
    1. Realiza la actualización siguiendo la documentación de ASM:
    2. Especifique los siguientes puertos de entrada y asigne el valor true a la propiedad runAsRoot en el archivo istio-operator.yaml".
          … … …
                  ports:
                  - port: 15021
                    name: status-port
                    targetPort: 15021
                  - port: 80
                    name: http2
                    targetPort: 80
                  - port: 443
                    name: https
                    targetPort: 443
      
          … … …
          values:
            gateways:
              istio-ingressgateway:
                runAsRoot: true 
    3. Crea CRs de PeerAuthentication para inhabilitar mTLS en tu archivo istio-operator.yaml:
      ---
      apiVersion: security.istio.io/v1beta1
      kind: PeerAuthentication
      metadata:
        name: apigee-system
        namespace: apigee-system
      spec:
        mtls:
          mode: DISABLE
      ---
      apiVersion: security.istio.io/v1beta1
      kind: PeerAuthentication
      metadata:
        name: user-namespace
        namespace: user-namespace
      spec:
        mtls:
          mode: DISABLE
    4. Aplica estos cambios con istioctl tal como se describe en la documentación de ASM:

Instalar el entorno de ejecución híbrido 1.4.4

  1. Almacena el número de la última versión en una variable:
    export VERSION=$(curl -s \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
  2. Comprueba que la variable se haya rellenado con un número de versión. Si quieres usar otra versión, puedes guardarla en una variable de entorno. Por ejemplo:
    echo $VERSION
      1.4.4
  3. Descarga el paquete de lanzamiento para tu sistema operativo:

    Mac de 64 bits:

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

    Linux de 64 bits:

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

    Mac de 32 bits:

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

    Linux de 32 bits:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
  4. Cambia el nombre del directorio apigeectl/ actual por el de un directorio de copia de seguridad. Por ejemplo:
    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.2/ 
  5. Extrae el contenido del archivo gzip descargado en el directorio base híbrido. Por ejemplo:

    tar xvzf filename.tar.gz -C hybrid-base-directory
  6. cd al directorio base.
  7. De forma predeterminada, el contenido de tar se expande en un directorio con la versión y la plataforma en su nombre. Por ejemplo: ./apigeectl_1.4.4-xxx_linux_64. Cambia el nombre de ese directorio a apigeectl:

    mv apigeectl_1.4.5-xxx_linux_64 apigeectl
  8. En el directorio new apigeectl/, ejecuta apigeectl init, apigeectl apply y apigeectl check-ready:
    1. Inicializa la versión híbrida 1.4.4:
      apigeectl init -f overrides.yaml

      Donde overrides.yaml es el archivo overrides.yaml editado.

    2. Comprueba que se ha inicializado correctamente con los siguientes comandos:
      apigeectl check-ready -f overrides.yaml
      kubectl describe apigeeds -n apigee

      La salida debería tener un aspecto similar a este:

      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
      
    3. La sintaxis de la marca apigeectl --dry-run depende de la versión de kubectl que estés usando. Comprueba la versión de kubectl:
      gcloud version
    4. Comprueba si hay errores con una prueba de funcionamiento con el comando adecuado para tu versión de kubectl:

      kubectl versión 1.17 y anteriores:

      apigeectl apply -f overrides.yaml --dry-run=true

      kubectl versión 1.18 y posteriores:

      apigeectl apply -f overrides.yaml --dry-run=client
    5. Aplica las anulaciones. Selecciona las instrucciones para entornos de producción o de demostración/experimentales, según tu instalación, y síguelas.

      Producción

      En los entornos de producción, debes actualizar cada componente híbrido por separado y comprobar el estado del componente actualizado antes de pasar al siguiente.

      1. Aplica las anulaciones para actualizar Cassandra:
        apigeectl apply -f overrides.yaml --datastore
      2. Comprobación completada:
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml

        Donde namespace es el espacio de nombres de Apigee hybrid.

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

      3. Aplica las anulaciones para actualizar los componentes de Telemetría y comprueba que se han completado:
        apigeectl apply -f overrides.yaml --telemetry
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      4. Aplica las anulaciones para actualizar los componentes a nivel de organización (MART, Watcher y Apigee Connect) y comprueba si se han completado:
        apigeectl apply -f overrides.yaml --org
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      5. Aplica las anulaciones para actualizar tus entornos. Tienes dos opciones:
        • Entorno por entorno: aplica las anulaciones a un entorno cada vez y comprueba que se completan. Repite este paso para cada entorno:
          apigeectl apply -f overrides.yaml --env env_name
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

          Donde env_name es el nombre del entorno que vas a actualizar.

        • Todos los entornos a la vez: aplica las anulaciones a todos los entornos a la vez y comprueba si se han completado:
          apigeectl apply -f overrides.yaml --all-envs
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

      Demo o experimental

      En la mayoría de los entornos de demostración o experimentales, puedes aplicar las anulaciones a todos los componentes a la vez. Si tu entorno de demostración o experimental es grande y complejo, o bien se parece mucho a un entorno de producción, te recomendamos que sigas las instrucciones para actualizar entornos de producción.

      1. apigeectl apply -f overrides.yaml
      2. Comprueba el estado:
        apigeectl check-ready -f overrides.yaml

    ¡Enhorabuena! Has actualizado correctamente a la versión 1.4.4 de Apigee hybrid.