Habilita funciones opcionales

Cuando instalas Anthos Service Mesh, especificas el perfil de configuración de Anthos Service Mesh, que habilita las funciones predeterminadas compatibles que se enumeran en la página Funciones compatibles. Los perfiles de configuración de Anthos Service Mesh, asm.yaml y asm-onprem.yaml, se ubican en el subdirectorio install/kubernetes/operator/profiles dentro del directorio raíz de la instalación de Anthos Service Mesh. Los perfiles de configuración definen y configuran las características que se instalan con Anthos Service Mesh.

Puedes anular el perfil de configuración de ASM y habilitar las funciones opcionales compatibles de forma individual en la línea de comandos mediante --set values. De forma alternativa, si tienes muchas funciones para habilitar o la función tiene varias opciones de configuración, puedes crear un archivo de definición de recursos personalizados IstioControlPlane. Pasa el archivo a istioctl con la opción -f. Para obtener más información, consulta Personaliza la configuración.

Cuando habilitas las funciones opcionales, sigue estos pasos:

  • Asegúrate de que la función que habilites sea compatible.

  • Especifica el perfil de configuración aplicable para tu plataforma:

    • Para Google Kubernetes Engine, usa --set profile=asm
    • Para GKE en VMware, usa --set profile=asm-onprem

Opciones de la línea de comandos para habilitar funciones opcionales

En la tabla siguiente, se proporcionan las opciones de línea de comandos para habilitar funciones opcionales y compatibles.

Función Opciones de línea de comandos
Modo STRICT de mTLS --set values.global.mtls.enabled=true
Prometheus --set values.prometheus.enabled=true
Grafana (que requiere Prometheus) --set values.prometheus.enabled=true \
--set values.grafana.enabled=true
Dirige Envoy a stdout --set values.global.proxy.accessLogFile="/dev/stdout"
Para obtener más información, consulta Habilita el registro de acceso de Envoy.
Seguimiento de Stackdriver --set values.tracing.enabled=true \
--set values.global.proxy.tracer="stackdriver"
Salida mediante puertas de enlace de salida --set values.gateways.istio-egressgateway.enabled=true
Para obtener más información, consulta Puerta de enlace.

Ejemplos

Los comandos para instalar Anthos Service Mesh en GKE usan las siguientes variables de entorno:

  • Configura tu ID del proyecto de Google Cloud:

    export PROJECT_ID=YOUR_PROJECT_ID
  • Configura el número de proyecto:

    export PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} --format="value(projectNumber)")
  • Establece el nombre del clúster.

    export CLUSTER_NAME=YOUR_CLUSTER_NAME

  • Establece CLUSTER_LOCATION en la zona o la región del clúster.

    export CLUSTER_LOCATION=YOUR_ZONE_OR_REGION

  • Configura el grupo de cargas de trabajo.

    export WORKLOAD_POOL=${PROJECT_ID}.svc.id.goog

  • Configura el ID de malla, que se requiere para que las métricas se muestren en las páginas de Anthos Service Mesh en la consola de Google Cloud:

    export MESH_ID="proj-${PROJECT_NUMBER}"

Habilita la puerta de enlace de salida

Para instalar Anthos Service Mesh en el modo de autenticación TLS mutua (mTLS) PERMISSIVE y habilitar la puerta de enlace de salida, haz lo siguiente:

GKE

istioctl manifest apply --set profile=asm \
--set values.global.trustDomain=${WORKLOAD_POOL} \
--set values.global.sds.token.aud=${WORKLOAD_POOL} \
--set values.nodeagent.env.GKE_CLUSTER_URL=https://container.googleapis.com/v1/projects/${PROJECT_ID}/locations/${CLUSTER_LOCATION}/clusters/${CLUSTER_NAME} \
--set values.global.meshID=${MESH_ID} \
--set values.global.proxy.env.GCP_METADATA="${PROJECT_ID}|${PROJECT_NUMBER}|${CLUSTER_NAME}|${CLUSTER_LOCATION}" \
--set values.gateways.istio-egressgateway.enabled=true

GKE On‑Prem

istioctl manifest apply --set profile=asm-onprem} \
--set values.gateways.istio-egressgateway.enabled=true

Habilitar el modo mTLS STRICT

Para instalar Anthos Service Mesh en el modo mTLS STRICT, sigue estos pasos:

GKE

istioctl manifest apply --set profile=asm \
--set values.global.trustDomain=${WORKLOAD_POOL} \
--set values.global.sds.token.aud=${WORKLOAD_POOL} \
--set values.nodeagent.env.GKE_CLUSTER_URL=https://container.googleapis.com/v1/projects/${PROJECT_ID}/locations/${CLUSTER_LOCATION}/clusters/${CLUSTER_NAME} \
--set values.global.meshID=${MESH_ID} \
--set values.global.proxy.env.GCP_METADATA="${PROJECT_ID}|${PROJECT_NUMBER}|${CLUSTER_NAME}|${CLUSTER_LOCATION}" \
--set values.global.mtls.enabled=true

GKE On‑Prem

istioctl manifest apply --set profile=asm-onprem \
--set values.global.mtls.enabled=true

Habilita un balanceador de cargas interno

Para las instalaciones en GKE, puedes habilitar un balanceador de cargas interno para la puerta de enlace de entrada de Istio. Los balanceadores de cargas internos no son compatibles con GKE en VMware. Si deseas obtener información sobre cómo configurar GKE en VMware, consulta Configura tu balanceador de cargas para GKE en VMware.

  1. Copia el siguiente texto en un archivo y guárdalo como ilb.yaml:

    apiVersion: install.istio.io/v1alpha2
    kind: IstioControlPlane
    spec:
      values:
        gateways:
          istio-ingressgateway:
            serviceAnnotations:
              cloud.google.com/load-balancer-type: internal
            ports:
              - name: status-port
                port: 15020
              - name: http2
                port: 80
              - name: https
                port: 443
    
  2. Especifica el archivo en la línea de comandos:

    istioctl manifest apply --set profile=asm \
    --set values.global.trustDomain=${WORKLOAD_POOL} \
    --set values.global.sds.token.aud=${WORKLOAD_POOL} \
    --set values.nodeagent.env.GKE_CLUSTER_URL=https://container.googleapis.com/v1/projects/${PROJECT_ID}/locations/${CLUSTER_LOCATION}/clusters/${CLUSTER_NAME} \
    --set values.global.meshID=${MESH_ID} \
    --set values.global.proxy.env.GCP_METADATA="${PROJECT_ID}|${PROJECT_NUMBER}|${CLUSTER_NAME}|${CLUSTER_LOCATION}" \
    -f ilb.yaml