Actualiza el híbrido de Apigee a la versión 1.4

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

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

  1. Haz una copia de seguridad de tu instalación híbrida.
  2. Verifica tu versión de Kubernetes y actualízala según corresponda.
  3. Actualiza ASM.
  4. Instala la versión 1.4 del entorno de ejecución híbrido.

Requisitos

Actualizar a la versión 1.4

  1. Realiza una copia de seguridad de tu directorio $APIGEECTL_HOME/ versión 1.3. Por ejemplo:
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.3-backup.tar.gz $APIGEECTL_HOME
  2. (Recomendado) 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.
  3. Actualiza tu plataforma de Kubernetes de la siguiente manera. Si necesitas ayuda, sigue la documentación de la plataforma:
    Plataforma Actualizar a la versión
    GKE 1.18.x
    GKE On-Prem (Anthos) 1.5.x
    AKS 1.18.x mediante clústeres conectados de Anthos
    EKS 1.18.x mediante clústeres conectados de Anthos
  4. Actualiza ASM a la versión 1.6.x.
    1. Realiza la actualización con la documentación de ASM:
    2. Especifica los siguientes puertos de entrada y establece la propiedad runAsRoot en true en tu 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 CR 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, como se describe en la documentación de ASM:

Instala el entorno de ejecución de la versión 1.4.4 de Hybrid

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

    Mac (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 de tu directorio apigeectl/ actual por un nombre de directorio de copia de seguridad. Por ejemplo:
    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.2/ 
  5. Extrae el contenido del archivo gzip descargado en tu directorio base híbrido. Por ejemplo:

    tar xvzf filename.tar.gz -C hybrid-base-directory
  6. cd al directorio base.
  7. De forma predeterminada, los contenidos del archivo tar se expanden a 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 nuevo apigeectl/, ejecuta apigeectl init, apigeectl apply y apigeectl check-ready:
    1. Inicializa la versión 1.4.4 de Hybrid :
      apigeectl init -f overrides.yaml

      En el ejemplo anterior, overrides.yaml es tu archivo overrides.yaml editado.

    2. Verifica que se haya inicializado correctamente con el siguiente comando:
      apigeectl check-ready -f overrides.yaml
      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
      
    3. La sintaxis de la marca apigeectl --dry-run depende de la versión de kubectl que ejecutas. Verifica la versión de kubectl:
      gcloud version
    4. Comprueba si hay errores con una ejecución de prueba con el comando adecuado para tu versión de kubectl:

      versión 1.17 de kubectl y versiones anteriores:

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

      versión 1.18 kubectl y versiones posteriores:

      apigeectl apply -f overrides.yaml --dry-run=client
    5. Aplica tus anulaciones. Selecciona y sigue las instrucciones para los entornos de producción o entornos de demostración/experimental, según la instalación.

      Producción

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

      1. Aplica tus anulaciones para actualizar Cassandra:
        apigeectl apply -f overrides.yaml --datastore
      2. Verifica la finalización:
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml

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

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

      3. Aplica tus anulaciones para actualizar los componentes de telemetría y verificar la finalización:
        apigeectl apply -f overrides.yaml --telemetry
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      4. Aplica tus anulaciones para actualizar los componentes a nivel de la organización (MART, Watcher y Apigee Connect) y verifica la finalización:
        apigeectl apply -f overrides.yaml --org
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      5. 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 apply -f overrides.yaml --env env_name
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

          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 apply -f overrides.yaml --all-envs
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

      Demostración/Experimental

      En la mayoría de los entornos experimentales o de demostración, puedes aplicar las anulaciones a todos los componentes a la vez. Si tu entorno de demostración/experimental es grande y complejo, o si imita de manera estrecha a un entorno de producción, puedes usar las instrucciones para actualizar los entornos de producción.

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

    ¡Felicitaciones! Actualizaste correctamente a la versión 1.4.4 de Apigee Hybrid.