Paso 3: Instala ASM

Instalar ASM

Apigee Hybrid usa la distribución de Istio proporcionada con Anthos Service Mesh (ASM). Sigue estos pasos para instalar ASM en tu clúster.

Versiones de ASM compatibles

Consulta las plataformas compatibles con Apigee Hybrid para ver las versiones de ASM compatibles con la versión 1.6 de Hybrid.

Sigue los pasos de configuración de ASM

Para completar la instalación de ASM, primero debes seguir los pasos de configuración específicos de ASM que se indican en la documentación de ASM. Después, debes volver aquí para completar la configuración específica del modo híbrido antes de aplicar la configuración al clúster.

Las instrucciones para instalar y configurar ASM varían en función de la plataforma. Las plataformas se dividen en las siguientes categorías:

  • GKE: clústeres de Google Kubernetes Engine que se ejecutan en Google Cloud.
  • Fuera de Google Cloud: clústeres de Anthos que se ejecutan en:
    • Clústeres de Anthos en VMware (GKE On-Prem)
    • Anthos en Bare Metal
    • Clústeres de Anthos en AWS
    • Amazon EKS
  • Otras plataformas de Kubernetes: clústeres conformes creados y ejecutados en:
    • AKS
    • EKS
    • OpenShift

GKE

Preparar la instalación de ASM

  1. Comprueba las variables de entorno que necesitarás para los siguientes pasos y defínelas si es necesario:
    echo $PROJECT_ID
    echo $CLUSTER_NAME
    echo $CLUSTER_LOCATION
  2. Crea un archivo de superposición llamado overlay.yaml con el siguiente contenido:
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      components:
        ingressGateways:
          - name: istio-ingressgateway
            enabled: true
            k8s:
              nodeSelector:
                # default node selector, if different or not using node selectors, change accordingly.
                cloud.google.com/gke-nodepool: apigee-runtime
              resources:
                requests:
                  cpu: 1000m
              service:
                type: LoadBalancer
                loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out.
                ports:
                  - name: http-status-port
                    port: 15021
                  - name: http2
                    port: 80
                    targetPort: 8080
                  - name: https
                    port: 443
                    targetPort: 8443
    • apigee-runtime es el valor predeterminado del selector de nodos. Este es el grupo de nodos apigee-runtime que has creado en el paso 1: Crea un clúster. Si usas otro selector de nodos o no usas ninguno, cambia u omite la propiedad nodeSelector.
    • STATIC_IP es la dirección IP de tu balanceador de carga. Si no has definido ninguna, omite la propiedad loadBalancerIP, pero conserva las propiedades type y ports.
  3. Sigue las instrucciones para preparar la instalación de ASM:
    1. Requisitos previos de Anthos
    2. Permisos necesarios para instalar Anthos Service Mesh
    3. Planifica una instalación.
  4. Instala asmcli y las herramientas necesarias, como git, kubectl y jq, siguiendo las instrucciones de Instalar las herramientas necesarias.
  5. Sigue los pasos para conceder permisos de administrador de clúster y detente. No realice el paso "Validar proyecto y clúster".
  6. Instala ASM con funciones opcionales. Especifica la pasarela de entrada antigua con --option legacy-default-ingressgateway. por ejemplo:
    ./asmcli install \
      --verbose \
      --project_id $PROJECT_ID \
      --cluster_name $CLUSTER_NAME \
      --cluster_location $CLUSTER_LOCATION \
      --output_dir dir_path \
      --custom_overlay overlay.yaml \
      --enable_all \
      --option legacy-default-ingressgateway
    • dir_path es el directorio de salida en el que quieres que asmcli configure la instalación de ASM, incluidos todos los subdirectorios.
    • overlay.yaml es el archivo de superposición que has creado en los pasos anteriores.

    Usa estos ajustes cuando sigas las instrucciones de Instalar con funciones opcionales.

Solución de problemas

Si se produce un error que hace referencia a gcloud container hub memberships register, es posible que hayas superado el número máximo de clústeres registrados en GKE Hub. Por ejemplo:

asmcli_1.12: [WARNING]:  Command 'run_command gcloud
container hub memberships register my-hybrid-example
...' failed.

Prueba a seguir estos pasos para solucionar el error y, a continuación, vuelve a ejecutar asmcli install:

  1. Lista las suscripciones a GKE Hub de tu proyecto:
    gcloud container hub memberships list --project=$PROJECT_ID
  2. Elimina las suscripciones a GKE Hub:
    gcloud container hub memberships delete "membership" --project=$PROJECT_ID

Para obtener más información sobre los límites de GKE Hub, consulta Cuotas y límites.

Fuera de Google Cloud

Estas instrucciones son para instalar y configurar ASM en instancias de Apigee hybrid que usan Anthos para ejecutarse en:

  • Clústeres de Anthos en VMware (GKE On-Prem)
  • Anthos en Bare Metal
  • Clústeres de Anthos en AWS
  • Amazon EKS

Preparar la instalación de ASM

  1. Comprueba las variables de entorno que necesitarás para los siguientes pasos y defínelas si es necesario:
    echo ${PROJECT_ID}
    echo ${CLUSTER_NAME}
    echo ${CLUSTER_LOCATION}
  2. Crea un archivo de superposición llamado overlay.yaml con el siguiente contenido:
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      components:
        ingressGateways:
          - name: istio-ingressgateway
            enabled: true
            k8s:
              nodeSelector:
                # default node selector, if different or not using node selectors, change accordingly.
                cloud.google.com/gke-nodepool: apigee-runtime
              resources:
                requests:
                  cpu: 1000m
              service:
                type: LoadBalancer
                loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out.
                ports:
                  - name: http-status-port
                    port: 15021
                  - name: http2
                    port: 80
                    targetPort: 8080
                  - name: https
                    port: 443
                    targetPort: 8443
      meshConfig:
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
    • apigee-runtime es el valor predeterminado del selector de nodos. Este es el grupo de nodos apigee-runtime que has creado en el paso 1: Crea un clúster. Si usas otro selector de nodos o no usas ninguno, cambia u omite la propiedad nodeSelector.
    • STATIC_IP es la dirección IP de tu balanceador de carga. Si no has definido ninguna, omite la propiedad loadBalancerIP, pero conserva las propiedades type y ports.
  3. Sigue las instrucciones para preparar la instalación de ASM:
    1. Requisitos previos de Anthos
    2. Permisos necesarios para instalar Anthos Service Mesh
    3. Planifica una instalación.
  4. Instala asmcli y las herramientas necesarias, como git, kubectl y jq, siguiendo las instrucciones de Instalar las herramientas necesarias.
  5. Sigue los pasos para conceder permisos de administrador de clúster y detente. No realice el paso "Validar proyecto y clúster".
  6. Instala ASM con funciones opcionales. Especifica la pasarela de entrada antigua con --option legacy-default-ingressgateway. por ejemplo:
    ./asmcli install \
      --verbose \
      --project_id $PROJECT_ID \
      --cluster_name $CLUSTER_NAME \
      --cluster_location $CLUSTER_LOCATION \
      --output_dir dir_path \
      --custom_overlay overlay.yaml \
      --enable_all \
      --option legacy-default-ingressgateway
    • dir_path es el directorio de salida en el que quieres que asmcli configure la instalación de ASM, incluidos todos los subdirectorios.
    • overlay.yaml es el archivo de superposición que has creado en los pasos anteriores.

    Usa estos ajustes cuando sigas las instrucciones de Instalar con funciones opcionales.

Solución de problemas

Si se produce un error que hace referencia a gcloud container hub memberships register, es posible que hayas superado el número máximo de clústeres registrados en GKE Hub. Por ejemplo:

asmcli_1.12: [WARNING]:  Command 'run_command gcloud
container hub memberships register my-hybrid-example
...' failed.

Prueba a seguir estos pasos para solucionar el error y, a continuación, vuelve a ejecutar asmcli install:

  1. Lista las suscripciones a GKE Hub de tu proyecto:
    gcloud container hub memberships list --project=$PROJECT_ID
  2. Elimina las suscripciones a GKE Hub:
    gcloud container hub memberships delete "membership" --project=$PROJECT_ID

Para obtener más información sobre los límites de GKE Hub, consulta Cuotas y límites.

Otras plataformas de Kubernetes

AKS

Configurar y descargar ASM

Lee atentamente los pasos que se indican a continuación antes de empezar. Te pediremos que sigas algunos de los pasos que se indican en la documentación de ASM y, después, que vuelvas a esta página para completar la instalación.

En esta guía se explica cómo hacer una instalación limpia de la versión 1.26.0-asm.11 de Anthos Service Mesh (ASM) en clústeres adjuntos de Anthos. Usa esta guía para instalar Anthos Service Mesh en los siguientes entornos:

  • Amazon Elastic Kubernetes Service (Amazon EKS) en Kubernetes
  • Microsoft Azure Kubernetes Service (Microsoft AKS) en Kubernetes
  • Red Hat OpenShift

Prepararse para instalar Anthos Service Mesh

    Linux

  1. Descarga el archivo de instalación de Anthos Service Mesh en tu directorio de trabajo actual:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz
  2. Descarga el archivo de firma y usa openssl para verificar la firma:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig
    openssl dgst -verify /dev/stdin -signature istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig istio-1.26.0-asm.11-linux-amd64.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  3. Extrae el contenido del archivo a cualquier ubicación de tu sistema de archivos. Por ejemplo, para extraer el contenido al directorio de trabajo actual, haz lo siguiente:
    tar xzf istio-1.26.0-asm.11-linux-amd64.tar.gz

    El comando crea un directorio de instalación en tu directorio de trabajo actual llamado istio-1.26.0-asm.11 que contiene lo siguiente:

    • Aplicaciones de ejemplo en el directorio samples.
    • La herramienta de línea de comandos istioctl que usas para instalar Anthos Service Mesh se encuentra en el directorio bin.
    • Los perfiles de configuración de Anthos Service Mesh se encuentran en el directorio manifests/profiles.
  4. Asegúrate de que te encuentras en el directorio raíz de la instalación de Anthos Service Mesh:
    cd istio-1.26.0-asm.11
  5. Para mayor comodidad, añade las herramientas del directorio /bin a tu PATH:
    export PATH=$PWD/bin:$PATH
  6. macOS

  7. Descarga el archivo de instalación de Anthos Service Mesh en tu directorio de trabajo actual:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz
  8. Descarga el archivo de firma y usa openssl para verificar la firma:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.26.0-asm.11-osx.tar.gz.1.sig istio-1.26.0-asm.11-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  9. Extrae el contenido del archivo a cualquier ubicación de tu sistema de archivos. Por ejemplo, para extraer el contenido al directorio de trabajo actual, haz lo siguiente:
    tar xzf istio-1.26.0-asm.11-osx.tar.gz

    El comando crea un directorio de instalación en tu directorio de trabajo actual llamado istio-1.26.0-asm.11 que contiene lo siguiente:

    • Aplicaciones de ejemplo en el directorio samples.
    • La herramienta de línea de comandos istioctl que usas para instalar Anthos Service Mesh se encuentra en el directorio bin.
    • Los perfiles de configuración de Anthos Service Mesh se encuentran en el directorio manifests/profiles.
  10. Asegúrate de que te encuentras en el directorio raíz de la instalación de Anthos Service Mesh:
    cd istio-1.26.0-asm.11
  11. Para mayor comodidad, añade las herramientas del directorio /bin a tu PATH:
    export PATH=$PWD/bin:$PATH
  12. Windows

  13. Descarga el archivo de instalación de Anthos Service Mesh en tu directorio de trabajo actual:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip
  14. Descarga el archivo de firma y usa openssl para verificar la firma:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.26.0-asm.11-win.zip.1.sig istio-1.26.0-asm.11-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  15. Extrae el contenido del archivo a cualquier ubicación de tu sistema de archivos. Por ejemplo, para extraer el contenido al directorio de trabajo actual, haz lo siguiente:
    tar xzf istio-1.26.0-asm.11-win.zip

    El comando crea un directorio de instalación en tu directorio de trabajo actual llamado istio-1.26.0-asm.11 que contiene lo siguiente:

    • Aplicaciones de ejemplo en el directorio samples.
    • La herramienta de línea de comandos istioctl que usas para instalar Anthos Service Mesh se encuentra en el directorio bin.
    • Los perfiles de configuración de Anthos Service Mesh se encuentran en el directorio manifests\profiles.
  16. Asegúrate de que te encuentras en el directorio raíz de la instalación de Anthos Service Mesh:
    cd istio-1.26.0-asm.11
  17. Para mayor comodidad, añade las herramientas del directorio \bin a tu PATH:
    set PATH=%CD%\bin:%PATH%
  18. Ahora que ASM Istio está instalado, comprueba la versión de istioctl:
    istioctl version
  19. Crea un espacio de nombres llamado istio-system para los componentes del plano de control:
    kubectl create namespace istio-system

Instalar Anthos Service Mesh

  1. Crea un archivo llamado overlay.yaml con el siguiente contenido:
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      meshConfig:
        accessLogFile: /dev/stdout
        enableTracing: true
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
      components:
        ingressGateways:
        - name: istio-ingressgateway
          enabled: true
          k8s:
            service:
              type: LoadBalancer
              ports:
              - name: status-port
                port: 15021
                targetPort: 15021
              - name: http2
                port: 80
                targetPort: 8080
              - name: https
                port: 443
                targetPort: 8443
    
  2. Instala Anthos Service Mesh con istioctl mediante el perfil asm-multicloud:
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1260-11" \
        --filename overlay.yaml

    El argumento --set revision añade una etiqueta de revisión con el formato istio.io/rev=asm-1260-11 a istiod. El webhook del inyector automático de sidecars usa la etiqueta de revisión para asociar los sidecars inyectados con una revisión de istiod concreta. Para habilitar la inyección automática de sidecar en un espacio de nombres, debe etiquetarlo con una revisión que coincida con la etiqueta de istiod.

  3. Comprueba que los pods de istiod se están ejecutando con kubectl get pods:
    kubectl get pods -n istio-system

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

    NAME                                      READY   STATUS    RESTARTS   AGE
    istio-ingressgateway-88b6fd976-flgp2  1/1     Running   0          3m13s
    istio-ingressgateway-88b6fd976-p5dl9  1/1     Running   0          2m57s
    istiod-asm-1260-11-dbfb7c7b6-2ls88      1/1     Running   0          3m21s
    istiod-asm-1260-11-dbfb7c7b6-fnj8c      1/1     Running   1          3m21s
  4. Comprueba que la instalación se ha completado:
    kubectl get svc -n istio-system

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

    NAME                  TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                                                                      AGE
    istio-ingressgateway  LoadBalancer   172.200.48.52    34.74.177.168   15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP   3m35s
    istiod                ClusterIP      172.200.18.133   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        4m46s
    istiod-asm-1260-11     ClusterIP      172.200.63.220   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        3m43s

EKS

Configurar y descargar ASM

Lee atentamente los pasos que se indican a continuación antes de empezar. Te pediremos que sigas algunos de los pasos que se indican en la documentación de ASM y, después, que vuelvas a esta página para completar la instalación.

En esta guía se explica cómo hacer una instalación limpia de la versión 1.26.0-asm.11 de Anthos Service Mesh (ASM) en clústeres adjuntos de Anthos. Usa esta guía para instalar Anthos Service Mesh en los siguientes entornos:

  • Amazon Elastic Kubernetes Service (Amazon EKS) en Kubernetes
  • Microsoft Azure Kubernetes Service (Microsoft AKS) en Kubernetes
  • Red Hat OpenShift

Prepararse para instalar Anthos Service Mesh

    Linux

  1. Descarga el archivo de instalación de Anthos Service Mesh en tu directorio de trabajo actual:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz
  2. Descarga el archivo de firma y usa openssl para verificar la firma:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig
    openssl dgst -verify /dev/stdin -signature istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig istio-1.26.0-asm.11-linux-amd64.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  3. Extrae el contenido del archivo a cualquier ubicación de tu sistema de archivos. Por ejemplo, para extraer el contenido al directorio de trabajo actual, haz lo siguiente:
    tar xzf istio-1.26.0-asm.11-linux-amd64.tar.gz

    El comando crea un directorio de instalación en tu directorio de trabajo actual llamado istio-1.26.0-asm.11 que contiene lo siguiente:

    • Aplicaciones de ejemplo en el directorio samples.
    • La herramienta de línea de comandos istioctl que usas para instalar Anthos Service Mesh se encuentra en el directorio bin.
    • Los perfiles de configuración de Anthos Service Mesh se encuentran en el directorio manifests/profiles.
  4. Asegúrate de que te encuentras en el directorio raíz de la instalación de Anthos Service Mesh:
    cd istio-1.26.0-asm.11
  5. Para mayor comodidad, añade las herramientas del directorio /bin a tu PATH:
    export PATH=$PWD/bin:$PATH
  6. macOS

  7. Descarga el archivo de instalación de Anthos Service Mesh en tu directorio de trabajo actual:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz
  8. Descarga el archivo de firma y usa openssl para verificar la firma:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.26.0-asm.11-osx.tar.gz.1.sig istio-1.26.0-asm.11-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  9. Extrae el contenido del archivo a cualquier ubicación de tu sistema de archivos. Por ejemplo, para extraer el contenido al directorio de trabajo actual, haz lo siguiente:
    tar xzf istio-1.26.0-asm.11-osx.tar.gz

    El comando crea un directorio de instalación en tu directorio de trabajo actual llamado istio-1.26.0-asm.11 que contiene lo siguiente:

    • Aplicaciones de ejemplo en el directorio samples.
    • La herramienta de línea de comandos istioctl que usas para instalar Anthos Service Mesh se encuentra en el directorio bin.
    • Los perfiles de configuración de Anthos Service Mesh se encuentran en el directorio manifests/profiles.
  10. Asegúrate de que te encuentras en el directorio raíz de la instalación de Anthos Service Mesh:
    cd istio-1.26.0-asm.11
  11. Para mayor comodidad, añade las herramientas del directorio /bin a tu PATH:
    export PATH=$PWD/bin:$PATH
  12. Windows

  13. Descarga el archivo de instalación de Anthos Service Mesh en tu directorio de trabajo actual:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip
  14. Descarga el archivo de firma y usa openssl para verificar la firma:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.26.0-asm.11-win.zip.1.sig istio-1.26.0-asm.11-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  15. Extrae el contenido del archivo a cualquier ubicación de tu sistema de archivos. Por ejemplo, para extraer el contenido al directorio de trabajo actual, haz lo siguiente:
    tar xzf istio-1.26.0-asm.11-win.zip

    El comando crea un directorio de instalación en tu directorio de trabajo actual llamado istio-1.26.0-asm.11 que contiene lo siguiente:

    • Aplicaciones de ejemplo en el directorio samples.
    • La herramienta de línea de comandos istioctl que usas para instalar Anthos Service Mesh se encuentra en el directorio bin.
    • Los perfiles de configuración de Anthos Service Mesh se encuentran en el directorio manifests\profiles.
  16. Asegúrate de que te encuentras en el directorio raíz de la instalación de Anthos Service Mesh:
    cd istio-1.26.0-asm.11
  17. Para mayor comodidad, añade las herramientas del directorio \bin a tu PATH:
    set PATH=%CD%\bin:%PATH%
  18. Ahora que ASM Istio está instalado, comprueba la versión de istioctl:
    istioctl version
  19. Crea un espacio de nombres llamado istio-system para los componentes del plano de control:
    kubectl create namespace istio-system

Instalar Anthos Service Mesh

  1. Crea un archivo llamado overlay.yaml con el siguiente contenido:
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      meshConfig:
        accessLogFile: /dev/stdout
        enableTracing: true
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
      components:
        ingressGateways:
        - name: istio-ingressgateway
          enabled: true
          k8s:
            service:
              type: LoadBalancer
              ports:
              - name: status-port
                port: 15021
                targetPort: 15021
              - name: http2
                port: 80
                targetPort: 8080
              - name: https
                port: 443
                targetPort: 8443
    
  2. Instala Anthos Service Mesh con istioctl mediante el perfil asm-multicloud:
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1260-11" \
        --filename overlay.yaml

    El argumento --set revision añade una etiqueta de revisión con el formato istio.io/rev=asm-1260-11 a istiod. El webhook del inyector automático de sidecars usa la etiqueta de revisión para asociar los sidecars inyectados con una revisión de istiod concreta. Para habilitar la inyección automática de sidecar en un espacio de nombres, debe etiquetarlo con una revisión que coincida con la etiqueta de istiod.

  3. Comprueba que los pods de istiod se están ejecutando con kubectl get pods:
    kubectl get pods -n istio-system

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

    NAME                                      READY   STATUS    RESTARTS   AGE
    istio-ingressgateway-88b6fd976-flgp2  1/1     Running   0          3m13s
    istio-ingressgateway-88b6fd976-p5dl9  1/1     Running   0          2m57s
    istiod-asm-1260-11-dbfb7c7b6-2ls88      1/1     Running   0          3m21s
    istiod-asm-1260-11-dbfb7c7b6-fnj8c      1/1     Running   1          3m21s
  4. Comprueba que la instalación se ha completado:
    kubectl get svc -n istio-system

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

    NAME                  TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                                                                      AGE
    istio-ingressgateway  LoadBalancer   172.200.48.52    34.74.177.168   15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP   3m35s
    istiod                ClusterIP      172.200.18.133   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        4m46s
    istiod-asm-1260-11     ClusterIP      172.200.63.220   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        3m43s

OpenShift

Configurar y descargar ASM

Lee atentamente los pasos que se indican a continuación antes de empezar. Te pediremos que sigas algunos de los pasos que se indican en la documentación de ASM y, después, que vuelvas a esta página para completar la instalación.

En esta guía se explica cómo hacer una instalación limpia de la versión 1.26.0-asm.11 de Anthos Service Mesh (ASM) en clústeres adjuntos de Anthos. Usa esta guía para instalar Anthos Service Mesh en los siguientes entornos:

  • Amazon Elastic Kubernetes Service (Amazon EKS) en Kubernetes
  • Microsoft Azure Kubernetes Service (Microsoft AKS) en Kubernetes
  • Red Hat OpenShift

Prepararse para instalar Anthos Service Mesh

    Linux

  1. Asigna la restricción de contexto de seguridad (SCC) anyuid a istio-system con el siguiente comando oc:
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  2. Descarga el archivo de instalación de Anthos Service Mesh en tu directorio de trabajo actual:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz
  3. Descarga el archivo de firma y usa openssl para verificar la firma:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig
    openssl dgst -verify /dev/stdin -signature istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig istio-1.26.0-asm.11-linux-amd64.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  4. Extrae el contenido del archivo a cualquier ubicación de tu sistema de archivos. Por ejemplo, para extraer el contenido al directorio de trabajo actual, haz lo siguiente:
    tar xzf istio-1.26.0-asm.11-linux-amd64.tar.gz

    El comando crea un directorio de instalación en tu directorio de trabajo actual llamado istio-1.26.0-asm.11 que contiene lo siguiente:

    • Aplicaciones de ejemplo en el directorio samples.
    • La herramienta de línea de comandos istioctl que usas para instalar Anthos Service Mesh se encuentra en el directorio bin.
    • Los perfiles de configuración de Anthos Service Mesh se encuentran en el directorio manifests/profiles.
  5. Asegúrate de que te encuentras en el directorio raíz de la instalación de Anthos Service Mesh:
    cd istio-1.26.0-asm.11
  6. Para mayor comodidad, añade las herramientas del directorio /bin a tu PATH:
    export PATH=$PWD/bin:$PATH
  7. macOS

  8. Asigna la restricción de contexto de seguridad (SCC) anyuid a istio-system con el siguiente comando oc:
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  9. Descarga el archivo de instalación de Anthos Service Mesh en tu directorio de trabajo actual:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz
  10. Descarga el archivo de firma y usa openssl para verificar la firma:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.26.0-asm.11-osx.tar.gz.1.sig istio-1.26.0-asm.11-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  11. Extrae el contenido del archivo a cualquier ubicación de tu sistema de archivos. Por ejemplo, para extraer el contenido al directorio de trabajo actual, haz lo siguiente:
    tar xzf istio-1.26.0-asm.11-osx.tar.gz

    El comando crea un directorio de instalación en tu directorio de trabajo actual llamado istio-1.26.0-asm.11 que contiene lo siguiente:

    • Aplicaciones de ejemplo en el directorio samples.
    • La herramienta de línea de comandos istioctl que usas para instalar Anthos Service Mesh se encuentra en el directorio bin.
    • Los perfiles de configuración de Anthos Service Mesh se encuentran en el directorio manifests/profiles.
  12. Asegúrate de que te encuentras en el directorio raíz de la instalación de Anthos Service Mesh:
    cd istio-1.26.0-asm.11
  13. Para mayor comodidad, añade las herramientas del directorio /bin a tu PATH:
    export PATH=$PWD/bin:$PATH
  14. Windows

  15. Asigna la restricción de contexto de seguridad (SCC) anyuid a istio-system con el siguiente comando de la CLI de OpenShift (oc):
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  16. Descarga el archivo de instalación de Anthos Service Mesh en tu directorio de trabajo actual:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip
  17. Descarga el archivo de firma y usa openssl para verificar la firma:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.26.0-asm.11-win.zip.1.sig istio-1.26.0-asm.11-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  18. Extrae el contenido del archivo a cualquier ubicación de tu sistema de archivos. Por ejemplo, para extraer el contenido al directorio de trabajo actual, haz lo siguiente:
    tar xzf istio-1.26.0-asm.11-win.zip

    El comando crea un directorio de instalación en tu directorio de trabajo actual llamado istio-1.26.0-asm.11 que contiene lo siguiente:

    • Aplicaciones de ejemplo en el directorio samples.
    • La herramienta de línea de comandos istioctl que usas para instalar Anthos Service Mesh se encuentra en el directorio bin.
    • Los perfiles de configuración de Anthos Service Mesh se encuentran en el directorio manifests\profiles.
  19. Asegúrate de que te encuentras en el directorio raíz de la instalación de Anthos Service Mesh:
    cd istio-1.26.0-asm.11
  20. Para mayor comodidad, añade las herramientas del directorio \bin a tu PATH:
    set PATH=%CD%\bin:%PATH%
  21. Ahora que ASM Istio está instalado, comprueba la versión de istioctl:
    istioctl version
  22. Crea un espacio de nombres llamado istio-system para los componentes del plano de control:
    kubectl create namespace istio-system

Instalar Anthos Service Mesh

  1. Crea un archivo llamado overlay.yaml con el siguiente contenido:
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      meshConfig:
        accessLogFile: /dev/stdout
        enableTracing: true
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
      components:
        ingressGateways:
        - name: istio-ingressgateway
          enabled: true
          k8s:
            service:
              type: LoadBalancer
              ports:
              - name: status-port
                port: 15021
                targetPort: 15021
              - name: http2
                port: 80
                targetPort: 8080
              - name: https
                port: 443
                targetPort: 8443
    
  2. Instala Anthos Service Mesh con istioctl mediante el perfil asm-multicloud:
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1260-11" \
        --filename overlay.yaml

    El argumento --set revision añade una etiqueta de revisión con el formato istio.io/rev=asm-1260-11 a istiod. El webhook del inyector automático de sidecars usa la etiqueta de revisión para asociar los sidecars inyectados con una revisión de istiod concreta. Para habilitar la inyección automática de sidecar en un espacio de nombres, debe etiquetarlo con una revisión que coincida con la etiqueta de istiod.

  3. Comprueba que los pods de istiod se están ejecutando con kubectl get pods:
    kubectl get pods -n istio-system

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

    NAME                                      READY   STATUS    RESTARTS   AGE
    istio-ingressgateway-88b6fd976-flgp2  1/1     Running   0          3m13s
    istio-ingressgateway-88b6fd976-p5dl9  1/1     Running   0          2m57s
    istiod-asm-1260-11-dbfb7c7b6-2ls88      1/1     Running   0          3m21s
    istiod-asm-1260-11-dbfb7c7b6-fnj8c      1/1     Running   1          3m21s
  4. Comprueba que la instalación se ha completado:
    kubectl get svc -n istio-system

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

    NAME                  TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                                                                      AGE
    istio-ingressgateway  LoadBalancer   172.200.48.52    34.74.177.168   15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP   3m35s
    istiod                ClusterIP      172.200.18.133   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        4m46s
    istiod-asm-1260-11     ClusterIP      172.200.63.220   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        3m43s

Personalizar la instalación de ASM

La instalación de ASM que acaba de realizar es mínima y suficiente para probar y usar Apigee hybrid en casos de uso básicos. Para obtener información sobre cómo abordar casos prácticos más avanzados, como añadir, quitar o modificar números de puerto de balanceadores de carga, consulta Habilitar funciones opcionales.

Resumen

Ahora tienes instalados cert-manager y ASM, y puedes instalar la herramienta de línea de comandos de Apigee hybrid en tu máquina local.

1 2 3 Paso 4: Instala apigeectl 5 6 7 8 9