Recursos compatíveis que usam APIs do Istio (plano de controle gerenciado)

Esta página descreve os recursos suportados e as limitações do Cloud Service Mesh usando TRAFFIC_DIRECTOR ou ISTIOD como plano de controle e o as diferenças entre cada implementação. Essas não são opções que você pode que você escolher. A implementação de ISTIOD está disponível apenas para usuários atuais. As novas instalações usam a implementação de TRAFFIC_DIRECTOR quando possível.

Para a lista de recursos compatíveis com o Cloud Service Mesh para um cluster plano de controle, consulte Como usar as APIs do Istio (plano de controle istiod no cluster). Se você não souber qual plano de controle do Cloud Service Mesh está usando, pode verificar a implementação do plano de controle usando as instruções em Identificar a implementação do plano de controle

Limitações

Considere as seguintes limitações:

  • Os clusters do GKE precisam estar em uma das regiões compatíveis.
  • A versão do GKE precisa ser uma versão compatível.
  • Apenas as plataformas listadas em Ambientes são compatíveis.
  • Não é possível alterar canais de lançamento.
  • Migrações de Cloud Service Mesh gerenciado com asmcli para Cloud Service Mesh com API frota não têm suporte. Da mesma forma, provisionar o Cloud Service Mesh gerenciado com a API frota de --management manual a --management automatic.
  • Migrações e upgrades são compatíveis apenas com o Cloud Service Mesh no cluster versões 1.9+ instaladas com a CA da malha. As instalações com a CA do Istio (antes conhecida como Citadel) precisam migrar para a CA da malha.
  • A escala é limitada a 1.000 serviços e 5.000 cargas de trabalho por cluster.
  • Apenas a opção de implantação multiprimária para vários clusters é compatível: a opção de implantação primária remota para vários clusters não é.
  • istioctl ps não é compatível. Em vez disso, você pode usar gcloud beta container fleet mesh debug, conforme descrito nas Solução de problemas.
  • APIs sem suporte:

    • API EnvoyFilter

    • API WasmPlugin

    • API IstioOperator

    • API Kubernetes Ingress

  • É possível usar o plano de controle gerenciado sem uma assinatura do GKE Enterprise, mas alguns elementos e recursos da UI no console do Google Cloud só estão disponíveis para assinantes do GKE Enterprise. Para mais informações sobre o que está disponível para inscritos e não inscritos, consulte Diferenças entre a interface do GKE Enterprise e do Cloud Service Mesh.

  • Durante o processo de provisionamento de um plano de controle gerenciado, os CRDs do Istio correspondentes ao canal selecionado são instalados no cluster especificado. Se houver CRDs atuais do Istio no cluster, eles serão substituídos.

  • O Cloud Service Mesh gerenciado só oferece suporte ao domínio DNS padrão .cluster.local.

  • A partir de 14 de novembro de 2023, novas instalações do Cloud Service Mesh gerenciado no O canal de lançamento rapid busca JWKS apenas usando Envoys. Isso equivale a a opção PILOT_JWT_ENABLE_REMOTE_JWKS=envoy do Istio. Em comparação com as instalações em os canais de lançamento regular e stable, ou instalações no canal de lançamento rápido antes de 14 de novembro de 2023, talvez você precise de mais ServiceEntry e DestinationRule. Para ver um exemplo, consulte requestauthn-with-se.yaml.tmpl

Diferenças do plano de controle

Há diferenças nos recursos com suporte entre ISTIOD e TRAFFIC_DIRECTOR e implementações do plano de controle. Para verificar qual implementação você está usando, consulte Identificar a implementação do plano de controle.

  • : indica que o recurso está disponível e ativado por padrão.
  • † - indica que APIs de recurso podem têm diferenças entre as plataformas.
  • *: indica que o recurso é compatível com a plataforma e pode ser ativado, conforme descrito em Ativar recursos opcionais ou no guia de recurso vinculado à tabela de recursos.
  • §: indica que o recurso é permitido pela lista de permissões. Os usuários anteriores do Anthos Service Mesh gerenciado não são adicionadas automaticamente à lista de permissões no nível da organização. Entre em contato com o suporte do Google Cloud para solicitar acesso ou verificar o status da lista de permissões.
  • : indica que o recurso não está disponível ou é incompatível.

Os recursos padrão e opcionais são totalmente compatíveis com o suporte do Google Cloud. Recursos não listados explicitamente nas tabelas recebem suporte de melhor esforço.

O que determina a implementação do plano de controle

Quando você provisiona o Cloud Service Mesh gerenciado pela primeira vez em uma frota, determinamos qual implementação do plano de controle usar. A mesma implementação é usada para todos os clusters que provisionam o Cloud Service Mesh gerenciado nessa frota.

As novas frotas que são integradas ao Cloud Service Mesh gerenciado recebem a implementação do plano de controle TRAFFIC_DIRECTOR, com algumas exceções:

  • Se você for um usuário gerenciado do Cloud Service Mesh, receberá o ISTIOD implementação de plano de controle ao integrar uma nova frota no mesmo Google Cloud Organização para o Cloud Service Mesh gerenciado, pelo menos até 30 de junho de 2024. Se você for um desses usuários, entre em contato com o suporte para ajustar esse comportamento. Usuários cujo uso atual não é compatível com o TRAFFIC_DIRECTOR a implementação sem mudanças vai continuar recebendo o ISTIOD até 8 de setembro de 2024. (Esses usuários receberam uma conta Announcement.)
  • Se algum cluster na sua frota usar o serviço de autoridade certificadora ao provisionar o Cloud Service Mesh gerenciado, você vai receber a implementação do plano de controle ISTIOD.
  • Se algum cluster da sua frota tiver um Cloud Service Mesh no cluster plano de controle ao provisionar o Cloud Service Mesh gerenciado, você vai receber a implementação do plano de controle ISTIOD.
  • Se algum cluster da sua frota usar GKE Sandbox, ao provisionar o Cloud Service Mesh gerenciado, você recebe o ISTIOD implementação do plano de controle.

Recursos compatíveis do plano de controle gerenciado

Instalação, upgrade e reversão

Recurso Gerenciado (TD) Gerenciado (istiod)
Instalação em clusters do GKE usando a API do recurso frota
Atualizações das versões ASM 1.9 que usam o Mesh CA
Upgrades diretos (nível pulado) das versões do Cloud Service Mesh anteriores à 1.9. Consulte as observações sobre upgrades indiretos.
Upgrades diretos (pular nível) do Istio OSS (consulte as observações para upgrades indiretos)
Upgrades diretos (pular nível) do complemento Istio-on-GKE (consulte as observações para upgrades indiretos)
Como ativar recursos opcionais

Ambientes

Recurso Gerenciado (TD) Gerenciado (istiod)
GKE 1.25 a 1.27 em uma das regiões suportadas
Clusters do GKE 1.25 a 1.27 com o Autopilot
Ambientes fora do Google Cloud (GKE Enterprise no local, GKE Enterprise em outras nuvens públicas, Amazon EKS, Microsoft AKS ou outros clusters do Kubernetes)

Escala

Recurso Gerenciado (TD) Gerenciado (istiod)
1.000 serviços e 5.000 cargas de trabalho por cluster
50 portas de serviço sem comando por malha e 36 pods por porta de serviço sem comando

Ambiente de plataforma

Recurso Gerenciado (TD) Gerenciado (istiod)
Rede única
Várias redes
Projeto único
Vários projetos com VPC compartilhada

Implantação de vários clusters

Recurso Gerenciado (TD) Gerenciado (istiod)
Modo multiprimário
Principal controle remoto
Descoberta de endpoints de vários clusters com a API declarativa
Descoberta de endpoints de vários clusters com segredos remotos

Observações sobre a terminologia

  • Uma configuração multiprimária significa que a configuração precisa ser replicada em todos os clusters.
  • Uma configuração primária remota significa que um único cluster contém a configuração e é considerado a fonte da verdade.
  • O Cloud Service Mesh usa uma definição simplificada de rede com base em conectividade. Instâncias de carga de trabalho ficam na mesma rede, se puderem se comunicar diretamente, sem um gateway.

Imagens de base

Recurso Gerenciado (TD) Gerenciado (istiod)
Imagem proxy distroless

† O Cloud Service Mesh com um plano de controle gerenciado (TD, na sigla em inglês) só oferece suporte ao tipo de imagem sem distribuição. Não é possível alterá-la.

As imagens distroless têm binários mínimos, então não é possível executar os comandos usuais, como bash ou curl, porque eles não estão presentes na imagem distroless. No entanto, é possível usar contêineres efêmeros para anexar a um pod de carga de trabalho em execução e inspecioná-lo e executar comandos personalizados. Por exemplo, consulte Como coletar registros do Cloud Service Mesh.

Segurança

VPC Service Controls

Recurso Gerenciado (TD) Gerenciado (istiod)
Prévia do VPC Service Controls
VPC Service Controls GA

Mecanismos de distribuição e rotação de certificados

Recurso Gerenciado (TD) Gerenciado (istiod)
Gerenciamento de certificados de carga de trabalho
Gerenciamento de certificados externos nos gateways de entrada e de saída.

Suporte para autoridade de certificação (CA)

Recurso Gerenciado (TD) Gerenciado (istiod)
Autoridade de certificação do Cloud Service Mesh
Certificate Authority Service
CA do Istio
Integração com CAs personalizadas

Recursos de segurança

Além de oferecer suporte aos recursos de segurança do Istio, o Cloud Service Mesh oferece ainda mais recursos para ajudar a proteger seus aplicativos.

Recurso Gerenciado (TD) Gerenciado (istiod)
Integração com o IAP
Autenticação de usuário final
Modo de teste
Registro de negação
Políticas de auditoria (não compatíveis)

Política de autorização

Recurso Gerenciado (TD) Gerenciado (istiod)
Política de autorização v1beta1
Política de autorização CUSTOM §

† A implementação do plano de controle TRAFFIC_DIRECTOR não é compatível com o Campos rules.from.source.RemoteIp e rules.from.source.NotRemoteIp.

Autenticação de mesmo nível

Recurso Gerenciado (TD) Gerenciado (istiod)
Auto-mTLS
Modo mTLS PERMISSIVE
Modo mTLS STRICT * *
Modo mTLS DESATIVAR

Autenticação de solicitações

Recurso Gerenciado (TD) Gerenciado (istiod)
Autenticação JWT(Observação 1)
Roteamento com base em declarações JWT
Declaração de cópia do JWT para os cabeçalhos

Observações:

  1. O JWT de terceiros é ativado por padrão.
  2. Adicione o fqdn/hostname completo em JWKSURI ao definir a API RequestAuthentication.
  3. O plano de controle gerenciado aplica o Envoy para buscar JWKS ao especificar o URI do JWKS.

Telemetria

Métrica

Recurso Gerenciado (TD) Gerenciado (istiod)
Cloud Monitoring (métricas HTTP no proxy)
Cloud Monitoring (métricas TCP no proxy)
Exportação de métricas do Prometheus para o Grafana (somente métricas do Envoy) * *
Exportação de métricas do Prometheus para o Kiali
Google Cloud Managed Service para Prometheus, sem incluir o painel do Cloud Service Mesh * *
API Istio Telemetry
Adaptadores/back-ends personalizados, dentro ou fora do processo
Back-ends de telemetria arbitrária e registro

† O plano de controle TRAFFIC_DIRECTOR oferece suporte a um subconjunto da API de telemetria do Istio. usados para configurar registros de acesso e trace.

Geração de registros de solicitação do proxy

Recurso Gerenciado (TD) Gerenciado (istiod)
Registros de tráfego
Registros de acesso * *

Cloud Trace

Recurso Gerenciado (TD) Gerenciado (istiod)
Cloud Trace * *
Rastreamento do Jaeger (permite o uso de Jaeger gerenciado pelo cliente) Compatível
Rastreamento de Zipkin (permite o uso de Zipkin gerenciado pelo cliente) Compatível

Rede

Mecanismos de interceptação e redirecionamento de tráfego

Recurso Gerenciado (TD) Gerenciado (istiod)
Uso tradicional de iptables usando contêineres init com CAP_NET_ADMIN
Interface de rede de contêineres do Istio (CNI, na sigla em inglês)
Sidecar de caixa baixa

Suporte a protocolo

Recurso Gerenciado (TD) Gerenciado (istiod)
IPv4
HTTP/1.1
HTTP/2
Streams de bytes TCP (Observação 1)
gRPC
IPv6

Observações:

  1. Embora o TCP seja um protocolo compatível com rede e as métricas TCP sejam coletadas, elas não são informadas. As métricas são exibidas apenas para Serviços HTTP no console do Google Cloud.
  2. Os serviços configurados com os recursos de Camada 7 para os seguintes protocolos não são compatíveis: WebSocket, MongoDB, Redis, Kafka, Cassandra, RabbitMQ e Cloud SQL. É possível fazer o protocolo funcionar usando o suporte ao stream de bytes TCP. Se o fluxo de bytes TCP não oferecer suporte ao protocolo (por exemplo, Kafka envia um endereço de redirecionamento em uma resposta específica do protocolo e se esse redirecionamento for incompatível com a lógica de roteamento do Cloud Service Mesh), porque o protocolo não é compatível.

Implantações do Envoy

Recurso Gerenciado (TD) Gerenciado (istiod)
Sidecars
Gateway de entrada
Saída diretamente dos sidecars
Saída usando gateways de saída * *

Compatibilidade com CRD

Recurso Gerenciado (TD) Gerenciado (istiod)
Recurso de sidecar
Recurso de entrada de serviço
Porcentagem, injeção de falhas, correspondência de caminho, redirecionamentos, novas tentativas, regravação, tempo limite, repetição, espelhamento, manipulação de cabeçalho e regras de roteamento CORS
API "EnvoyFilter" §
API `WasmPlugin`
Operador do Istio

Balanceador de carga para o gateway de entrada do Istio

Recurso Gerenciado (TD) Gerenciado (istiod)
Balanceador de carga externo de terceiros
google-cloud-internal-load-balancer * *

Gateway da nuvem da malha de serviço

Recurso Gerenciado (TD) Gerenciado (istiod)
Gateway da nuvem da malha de serviço

API Kubernetes Gateway

Recurso Gerenciado (TD) Gerenciado (istiod)
API Kubernetes Gateway

Políticas de balanceamento de carga

Recurso Gerenciado (TD) Gerenciado (istiod)
Round-robin
Menos conexões
Aleatório
Passagem
Hash consistente
Localidade

Entrada de serviço

Recurso Gerenciado (TD) Gerenciado (istiod)
ServiceEntry v1beta1

† A implementação do plano de controle do TRAFFIC_DIRECTOR não é compatível com os itens a seguir campos e valores nos campos:

  • Campo workloadSelector
  • Campo endpoints[].network
  • Campo endpoints[].locality
  • Campo endpoints[].weight
  • Campo endpoints[].serviceAccount
  • O valor DNS_ROUND_ROBIN está no campo resolution
  • Valor MESH_INTERNAL no campo location
  • Endereço do soquete de domínio Unix no campo endpoints[].address
  • Campo subjectAltNames

Regra de destino

Recurso Gerenciado (TD) Gerenciado (istiod)
DestinationRule v1beta1

† A implementação do plano de controle TRAFFIC_DIRECTOR não é compatível Campo trafficPolicy.loadBalancer.localityLbSetting e trafficPolicy.tunnel . Além disso, a implementação do plano de controle TRAFFIC_DIRECTOR requer que o a regra de destino que define subconjuntos está no mesmo namespace e cluster com o serviço Kubernetes ou ServiceEntry.

Arquivo secundário

Recurso Gerenciado (TD) Gerenciado (istiod)
Arquivo secundário v1beta1

† A implementação do plano de controle TRAFFIC_DIRECTOR não oferece suporte aos seguintes campos e valores em campos:

  • Campo ingress
  • Campo egress.port
  • Campo egress.bind
  • Campo egress.captureMode
  • Campo inboundConnectionPool

MeshConfig

Recurso Gerenciado (TD) Gerenciado (istiod)
LocalityLB §
ExtensionProviders §
CACert
ImageType: distroless §
OutboundTrafficPolicy §
defaultProviders.accessLogging
defaultProviders.tracing
defaultConfig.tracing.stackdriver §
accessLogFile §

ProxyConfig

Recurso Gerenciado (TD) Gerenciado (istiod)
Proxy DNS (ISTIO_META_DNS_CAPTURE, ISTIO_META_DNS_AUTO_ALLOCATE)
Suporte a HTTP/1.0 (ISTIO_META_NETWORK)
Seleção de imagem (distroless ou imagem de base)

Imagem Distroless é usada para a injeção.

Regiões

Os clusters do GKE precisam estar em uma das regiões ou em qualquer zona dentro das regiões a seguir.

Região Local
asia-east1 Taiwan
asia-east2 Hong Kong
asia-northeast1 Tóquio, Japão
asia-northeast2 Osaka, Japão
asia-northeast3 Coreia do Sul
asia-south1 Mumbai, Índia
asia-south2 Déli, Índia
asia-southeast1 Singapura
asia-southeast2 Jacarta
australia-southeast1 Sydney, Austrália
australia-southeast2 Melbourne, Austrália
europe-central2 Polônia
europe-north1 Finlândia
europe-southwest1 Espanha
europe-west1 Bélgica
europe-west2 Inglaterra
europe-west3 Frankfurt, Alemanha
europe-west4 Países Baixos
europe-west6 Suíça
europe-west8 Milão, Itália
europe-west9 França
europe-west10 Berlim, Alemanha
europe-west12 Turim, Itália
me-central1 Doha
me-central2 Damã, Arábia 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 do Sul
us-east4 Norte da Virgínia
us-east5 Ohio
us-south1 Dallas
us-west1 Oregon
us-west2 Los Angeles
us-west3 Salt Lake City
us-west4 Las Vegas

Interface do usuário

Recurso Gerenciado (TD) Gerenciado (istiod)
Painéis do Cloud Service Mesh no console do Google Cloud
Cloud Monitoring
Cloud Logging

Ferramentas

Recurso Gerenciado (TD) Gerenciado (istiod)
Ferramenta gcloud beta container fleet mesh debug