Funciones admitidas mediante las APIs de Istio (plano de control administrado)
En esta página, se describen las funciones y limitaciones admitidas para
Cloud Service Mesh con Cloud Service Mesh o istiod
como plano de control y el
diferencias entre cada implementación. Ten en cuenta que estas no son opciones que puedes
elegir. La implementación de istiod
solo está disponible para los usuarios existentes.
Las instalaciones nuevas usan la implementación de Cloud Service Mesh.
Para ver la lista de las funciones compatibles de Cloud Service Mesh para una red integrada en el clúster, haz lo siguiente:
plano de control, consulta
Usa las APIs de Istio (plano de control istiod
en el clúster).
Si no sabes qué plano de control de Cloud Service Mesh usas, puedes
puedes verificar la implementación del plano de control con las instrucciones de
Identifica la implementación del plano de control
Limitaciones
Se aplica la siguiente limitación:
- Los clústeres de GKE deben estar en una de las regiones admitidas.
- La versión de GKE debe ser una versión compatible.
- Solo se admiten las plataformas que se mencionan en Entornos.
- Cambiar canales de versiones es no es compatible.
- Migraciones desde
Malla de servicios de Cloud administrada con
asmcli
a Malla de servicios de Cloud con la API de flota no son compatibles. Del mismo modo, aprovisionar Cloud Service Mesh administrado con la API de flota de--management manual
a--management automatic
no es compatible. - Las migraciones y actualizaciones solo son compatibles con Cloud Service Mesh integrado en el clúster versiones 1.9 o posteriores instaladas con la CA de Mesh. Las instalaciones con la CA de Istio (antes conocida como Citadel) primero se deben migrar a la CA de Mesh.
- El escalamiento se limita a 1,000 servicios y 5,000 cargas de trabajo por clúster.
- Solo se admite la opción de implementación de varias instancias para varios clústeres; no se admite la opción de implementación principal remota para varios clústeres.
istioctl ps
no es compatible. Como alternativa, puedes usar el Comandosgcloud beta container fleet mesh debug
, como se describe en Solución de problemas.APIs no compatibles:
API
EnvoyFilter
API
WasmPlugin
API
IstioOperator
API
Kubernetes Ingress
API
Kubernetes Gateway
Puedes usar el plano de control administrado sin una suscripción a GKE Enterprise. pero ciertos elementos y funciones de la IU de la consola de Google Cloud solo están disponibles para los suscriptores de GKE Enterprise. Para obtener información sobre las opciones disponibles para suscriptores y usuarios no suscritos, consulta Diferencias entre la IU de GKE Enterprise y Cloud Service Mesh.
Durante el proceso de aprovisionamiento de un plano de control administrado, las CRD de Istio correspondientes al canal seleccionado se instalan en el clúster especificado. Si hay CRD de Istio existentes en el clúster, se reemplazarán.
La malla de servicios de Cloud administrada solo es compatible con el dominio DNS predeterminado
.cluster.local
.A partir del 14 de noviembre de 2023, se realizaron nuevas instalaciones de Cloud Service Mesh administrado en la Se recuperan JWKS del canal de versiones rapid solo con Envoys. Esto equivale a lo siguiente: la opción
PILOT_JWT_ENABLE_REMOTE_JWKS=envoy
de Istio En comparación con las instalaciones en los canales de versiones normal y estable, o las instalaciones en rápido antes del 14 de noviembre de 2023, es posible que necesites ConfiguracionesServiceEntry
yDestinationRule
. Para ver un ejemplo, consulta elrequestauthn-with-se.yaml.tmpl
Diferencias del plano de control
Existen diferencias en las funciones compatibles entre istiod
y Cloud Service Mesh
implementaciones del plano de control. Para verificar qué implementación estás usando, consulta
Identifica la implementación del plano de control.
- : Indica que la función está disponible y habilitada de forma predeterminada.
- †: Indica que las APIs de funciones pueden tienen diferencias entre varias plataformas.
- *: Indica que la función es compatible con la plataforma y se pueden habilitar, tal como se describe en Habilita funciones opcionales o la guía de funciones vinculada en la tabla de funciones.
- §: Indica que el componente está de la lista de entidades permitidas. Los usuarios anteriores de Anthos Service Mesh administrado tienen se incluyen automáticamente en la lista de entidades permitidas a nivel de la organización. Comunícate con la Asistencia de Google Cloud para solicitar acceso o para revisar el estado de tu lista de entidades permitidas.
- : Indica que la función no está disponible o no se admite.
Las funciones predeterminadas y opcionales tienen una compatibilidad total con la asistencia de Google Cloud. Las funciones que no aparecen en las tablas de manera explícita reciben la mejor asistencia posible.
Qué determina la implementación del plano de control
Cuando aprovisionas Cloud Service Mesh administrado por primera vez en una flota, determinar qué implementación del plano de control usar. La misma implementación se que se usa para todos los clústeres que aprovisionan Cloud Service Mesh administrado en esa flota.
Las nuevas flotas que se incorporan a Cloud Service Mesh administrado reciben el
Implementación del plano de control de TRAFFIC_DIRECTOR
, con ciertas excepciones:
- Si ya eres un usuario administrado de Cloud Service Mesh, recibirás el
ISTIOD
implementación del plano de control cuando se incorpora una nueva flota en el mismo Google Cloud De organización a Cloud Service Mesh administrado hasta al menos el 30 de junio de 2024. Si eres uno de estos usuarios, puedes comunicarte con el equipo de asistencia para ajustar este comportamiento. Usuarios cuyo uso existente no es compatible conTRAFFIC_DIRECTOR
implementación sin cambios seguirá recibiendo elISTIOD
hasta el 8 de septiembre de 2024. (Estos usuarios recibieron un Service Announcement.) - Si algún clúster de tu flota usa Certificate Authority Service cuando aprovisionas
Cloud Service Mesh, recibirás la implementación del plano de control de
ISTIOD
. - Si algún clúster de tu flota contiene una malla de servicios de Cloud en el clúster.
cuando aprovisiones Cloud Service Mesh administrado,
recibir la implementación del plano de control de
ISTIOD
. - Si algún clúster de tu flota usa
GKE Sandbox,
Cuando aprovisiones Cloud Service Mesh administrado, recibirás el
ISTIOD
implementación del plano de control.
Identifica la implementación del plano de control
Ejecuta el siguiente comando para identificar la implementación del plano de control:
gcloud container fleet mesh describe --project FLEET_PROJECT_ID
Ten en cuenta que si usas Cloud Service Mesh con APIs de Google Cloud (consulta Acerca de Cloud Service Mesh), luego, este comando no funcionará.
El resultado es similar a este:
...
membershipSpecs:
projects/746296320118/locations/us-central1/memberships/demo-cluster-1:
mesh:
management: MANAGEMENT_AUTOMATIC
membershipStates:
projects/746296320118/locations/us-central1/memberships/demo-cluster-1:
servicemesh:
controlPlaneManagement:
details:
- code: REVISION_READY
details: 'Ready: asm-managed'
state: ACTIVE
implementation: TRAFFIC_DIRECTOR
...
Los valores posibles implementation
son los siguientes:
TRAFFIC_DIRECTOR
: La infraestructura principal de Google Cloud actúa como Plano de control de Cloud Service Mesh.ISTIOD
: La instancia administrada deistiod
funciona como la malla de servicios de Cloud. plano de control.UPDATING
: El clúster se migra entre implementaciones. Pronto tú tendrá la implementación deTRAFFIC_DIRECTOR
.
Funciones compatibles con el plano de control administrado
Instala, actualiza y revierte
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Instalación en clústeres de GKE mediante la API de la función de flota | ||
Actualizaciones de las versiones de ASM 1.9 que usan CA de Mesh | ||
Actualizaciones directas (de nivel omisión) de versiones de Cloud Service Mesh anteriores a la 1.9 (consulta las notas para conocer las actualizaciones indirectas) | ||
Actualizaciones directas (nivel de omisión) de Istio OSS (consulta las notas para las actualizaciones indirectas) | ||
Actualizaciones directas (nivel de omisión) del complemento Istio-on-GKE (consulta las notas para las actualizaciones indirectas) | ||
Habilita funciones opcionales |
Entornos
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
GKE 1.25-1.27 en una de las regiones compatibles | ||
Clústeres de GKE 1.25-1.27 con Autopilot | ||
Entornos fuera de Google Cloud (GKE Enterprise local, GKE Enterprise en otras nubes públicas, Amazon EKS, Microsoft AKS, o algún otro clúster de Kubernetes) |
Escala
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
1,000 servicios y 5,000 cargas de trabajo por clúster | ||
50 ServicePorts por malla y 36 Pods por ServicePort |
Entorno de plataforma
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Una sola red | ||
Varias redes | ||
Un solo proyecto | ||
Varios proyectos con VPC compartida |
Implementación de varios clústeres
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Principales múltiples | ||
Control principal | ||
Descubrimiento de extremos de varios clústeres con la API declarativa | ||
Descubrimiento de extremos de varios clústeres con secretos remotos |
Notas sobre la terminología
- Una configuración de varias instancias principales implica que la configuración debe replicarse en todos los clústeres.
- Una configuración principal-remota significa que un solo clúster contiene el actual y se considera la fuente de información.
- Cloud Service Mesh usa una definición simplificada de red basada en políticas conectividad. Las instancias de carga de trabajo están en la misma red si pueden comunicarse de forma directa, sin una puerta de enlace.
Imágenes base
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Imagen de proxy distroless | † |
† La malla de servicios de Cloud con un plano de control administrado (TD) solo admite el tipo de imagen de Distro. No se puede cambiar.
Ten en cuenta que las imágenes distroless tienen binarios mínimos, por lo que no puedes ejecutar el comando comandos como bash o curl porque no están presentes en la imagen de distroless. Sin embargo, puedes usar contenedores efímeros para conectarte a un Pod de carga de trabajo en ejecución. poder inspeccionarlo y ejecutar comandos personalizados. Por ejemplo, consulta Recopila registros de Cloud Service Mesh.
Seguridad
Controles del servicio de VPC
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Vista previa de los Controles del servicio de VPC | ||
DG de los Controles del servicio de VPC |
Mecanismos de distribución y rotación de certificados
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Administración de certificados de cargas de trabajo | ||
Administración de certificados externos en puertas de enlace de entrada y salida. |
Compatibilidad con autoridad certificada (CA)
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Autoridad certificadora de Cloud Service Mesh | ||
Certificate Authority Service | ||
CA de Istio | ||
Integración con CA personalizadas |
Funciones de seguridad
Además de ser compatible con las funciones de seguridad de Istio, Cloud Service Mesh proporciona aún más capacidades para ayudarte a proteger tus aplicaciones.
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Integración de IAP | ||
Autenticación del usuario final | ||
Modo de ejecución de prueba | ||
Registro de denegación | ||
Políticas de auditoría (no compatibles) |
Política de autorización
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Política de autorización de v1beta1 | † | |
Política de autorización CUSTOM | § |
† La implementación del plano de control de la malla de servicios de Cloud no admite el
Campos rules.from.source.RemoteIp
y rules.from.source.NotRemoteIp
.
Autenticación entre pares
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Auto-mTLS | ||
Modo PERMISSIVE de mTLS | ||
Modo STRICT de mTLS | * | * |
Modo INHABILITAR de mTLS |
Autenticación de solicitudes
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Autenticación de JWT (Nota 1) | ||
Enrutamiento basado en reclamaciones de JWT | ||
Copiar reclamación de JWT en los encabezados |
Notas:
- JWT de terceros está habilitado de forma predeterminada.
- Agrega el fqdn/hostname completo en JWKSURI mientras defines la API de RequestAuthentication.
- El plano de control administrado aplica Envoy para recuperar JWKS cuando se especifica el URI de JWKS.
Telemetría
Métricas
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Cloud Monitoring (métricas en el proxy de HTTP) | ||
Cloud Monitoring (métricas en el proxy de TCP) | ||
Exportación de métricas de Prometheus a Grafana (solo métricas de Envoy) | * | * |
Exportación de métricas de Prometheus a Kiali | ||
Google Cloud Managed Service para Prometheus, sin el panel de Cloud Service Mesh | * | * |
API de Istio Telemetry | † | |
Adaptadores y backends personalizados, dentro o fuera del proceso | ||
Telemetría arbitraria y backends de registro |
† El plano de control de Cloud Service Mesh admite un subconjunto de la API de telemetría de Istio que se usan para configurar los registros de acceso seguimiento.
Registro de solicitudes de proxy
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Registros de tráfico | ||
Registros de acceso | * | * |
Trace
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Cloud Trace | * | * |
Seguimiento de Jaeger (permite el uso de Jaeger administrado por el cliente) | Compatible | |
Seguimiento de Zipkin (permite el uso de Zipkin administrado por el cliente) | Compatible |
Redes
Mecanismos de intercepción y redireccionamiento del tráfico
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Uso tradicional de iptables mediante contenedores init con CAP_NET_ADMIN |
||
Interfaz de red de contenedor (CNI) de Istio | ||
Sidecar de caja blanca |
Compatibilidad con protocolos
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
IPv4 | ||
HTTP/1.1 | ||
HTTP/2 | ||
Transmisiones de bytes de TCP (Nota 1) | ||
gRPC | ||
IPv6 |
Notas:
- Aunque TCP es un protocolo compatible para las redes y TCP las métricas de rendimiento, no se informan. Las métricas solo se muestran para Servicios HTTP en la consola de Google Cloud.
- No se admiten los servicios configurados con funciones de la capa 7 para los siguientes protocolos: WebSocket, MongoDB, Redis, Kafka, Cassandra, RabbitMQ y Cloud SQL. Es posible que puedas hacer que el protocolo funcione mediante la compatibilidad con la transmisión de bytes de TCP. Si la transmisión de bytes de TCP no admite el protocolo. (por ejemplo, Kafka envía una dirección de redireccionamiento en una respuesta específica del protocolo y este redireccionamiento no es compatible con la lógica de enrutamiento de Cloud Service Mesh), el protocolo no es compatible.
Implementaciones de Envoy
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Sidecars | ||
Puerta de enlace de entrada | ||
Salida directa desde sidecars | ||
Salida mediante puertas de enlace de salida | * | * |
Compatibilidad con CRD
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Recurso de sidecar | ||
Recurso de entrada del servicio | ||
Porcentajes, inserción de errores, coincidencias de rutas de acceso, redireccionamientos, reintentos, reescrituras, tiempo de espera, reintentos, duplicaciones, manipulación de encabezados y reglas de enrutamiento de CORS | ||
API de “EnvoyFilter” | § | |
API de “WasmPlugin” | ||
Operador de Istio |
Balanceador de cargas para la puerta de enlace de entrada de Istio
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Balanceador de cargas externo de terceros | ||
Balanceador de cargas interno de Google Cloud | * | * |
Puerta de enlace de la nube de la malla de servicios
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Puerta de enlace de la nube de la malla de servicios |
API de Kubernetes Gateway
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
API de Kubernetes Gateway |
Políticas de balanceo de cargas
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Round robin | ||
Conexiones mínimas | ||
Aleatorio | ||
Transferencia | ||
Hash coherente | ||
Localidad |
Entrada de servicio
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
ServiceEntry v1beta1 | † |
† La implementación del plano de control de la malla de servicios de Cloud no admite las siguientes campos y valores en los campos:
- Campo
workloadSelector
- Campo
endpoints[].network
- Campo
endpoints[].locality
- Campo
endpoints[].weight
- Campo
endpoints[].serviceAccount
- Valor
DNS_ROUND_ROBIN
en el camporesolution
- Valor
MESH_INTERNAL
en el campolocation
- Dirección del socket de dominio Unix en el campo
endpoints[].address
- Campo
subjectAltNames
Regla de destino
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
DestinationRule v1beta1 | † |
† La implementación del plano de control de la malla de servicios de Cloud no es compatible
Campo trafficPolicy.loadBalancer.localityLbSetting
y trafficPolicy.tunnel
.
Además, la implementación del plano de control de Cloud Service Mesh requiere que
la regla de destino que define subconjuntos está en el mismo espacio de nombres y clúster con
o ServiceEntry de Kubernetes.
Sidecar
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Archivo adicional v1beta1 | † |
† La implementación del plano de control de la malla de servicios de Cloud no admite las siguientes campos y valores en los campos:
- Campo
ingress
- Campo
egress.port
- Campo
egress.bind
- Campo
egress.captureMode
- Campo
inboundConnectionPool
MeshConfig
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
LocalityLB | § | |
ExtensionProviders | § | |
CACert | ||
ImageType: distroless | § | |
OutboundTrafficPolicy | § | |
defaultProviders.accessLogging | ||
defaultProviders.tracing | ||
defaultConfig.tracing.stackdriver | § | |
accessLogFile | § |
ProxyConfig
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Proxy de DNS (ISTIO_META_DNS_CAPTURE, ISTIO_META_DNS_AUTO_ALLOCATE) | ||
Compatibilidad con HTTP/1.0 (ISTIO_META_NETWORK) | ||
Selección de imagen (distroless o imagen base) | † |
† Para la inyección, se usa la imagen Distroless.
Regiones
Los clústeres de GKE deben estar en una de las siguientes regiones o en cualquier zona de las siguientes regiones.
Región | Ubicación |
---|---|
asia-east1 |
Taiwán |
asia-east2 |
Hong Kong |
asia-northeast1 |
Tokio, Japón |
asia-northeast2 |
Osaka, Japón |
asia-northeast3 |
Corea del Sur |
asia-south1 |
Bombay, India |
asia-south2 |
Delhi, India |
asia-southeast1 |
Singapur |
asia-southeast2 |
Yakarta |
australia-southeast1 |
Sídney, Australia |
australia-southeast2 |
Melbourne, Australia |
europe-central2 |
Polonia |
europe-north1 |
Finlandia |
europe-southwest1 |
España |
europe-west1 |
Bélgica |
europe-west2 |
Inglaterra |
europe-west3 |
Fráncfort, Alemania |
europe-west4 |
Países Bajos |
europe-west6 |
Suiza |
europe-west8 |
Milán, Italia |
europe-west9 |
Francia |
europe-west10 |
Berlín, Alemania |
europe-west12 |
Turín, Italia |
me-central1 |
Doha |
me-central2 |
Dammam, Arabia Saudita |
me-west1 |
Tel Aviv |
northamerica-northeast1 |
Montreal, Canadá |
northamerica-northeast2 |
Toronto, Canadá |
southamerica-east1 |
Brasil |
southamerica-west1 |
Chile |
us-central1 |
Iowa |
us-east1 |
Carolina del Sur |
us-east4 |
Virginia del Norte |
us-east5 |
Ohio |
us-south1 |
Dallas |
us-west1 |
Oregón |
us-west2 |
Los Ángeles |
us-west3 |
Salt Lake City |
us-west4 |
Las Vegas |
Interfaz de usuario
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Paneles de la malla de servicios de Cloud en la consola de Google Cloud | ||
Cloud Monitoring | ||
Cloud Logging |
Herramientas
Atributo | Administrado (TD) | Administrado (istiod) |
---|---|---|
Herramienta de gcloud beta container fleet mesh debug |