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
- Para Google Kubernetes Engine, usa
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 \
|
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.
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
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