VPC Service Controls para Anthos Service Mesh gerenciado

O Anthos Service Mesh gerenciado é compatível com o VPC Service Controls (VPC-SC) como um recurso de disponibilidade geral (GA) no canal rápido, para clusters do GKE com uma versão maior ou igual a 1.22.1-gke.100.

Antes de começar

A política da organização e o perímetro de serviço do VPC-SC são configurados no nível da organização. Verifique se você recebeu os papéis adequados para administrar o VPC-SC.

Configurar o perímetro de serviço do VPC-SC

Crie ou atualize o perímetro de serviço:

  1. Adicione os projetos de cluster e de frota ao perímetro de serviço. Não é possível ter uma malha de serviço distribuída em vários perímetros de VPC-SC.

  2. Adicione serviços restritos ao perímetro de serviço.

    É necessário adicionar serviços específicos às listas de serviços permitidos e restritos no perímetro de serviço, para que o cluster do Anthos Service Mesh possa acessá-los. O acesso aos serviços também é restrito na rede de nuvem privada virtual (VPC) do cluster.

    Não adicionar esses serviços pode fazer com que a instalação do Anthos Service Mesh falhe ou não funcione corretamente. Por exemplo, se você não adicionar a API Mesh Configuration ao perímetro de serviço, a instalação falhará e as cargas de trabalho não receberão a configuração do Envoy do plano de controle gerenciado.

    Console

    1. Siga as etapas em Como atualizar um perímetro de serviço para editar o perímetro.
    2. Clique na página Editar perímetro de serviço da VPC.
    3. Em Serviços restritos, Serviços a serem protegidos, clique em Adicionar serviços.
    4. Na caixa de diálogo Especificar serviços a serem restringidos, clique em Filtrar serviços e digite API de configuração de malha.
    5. Marque a caixa de seleção do serviço.
    6. Clique em Adicionar API Mesh Configuration.
    7. Repita as etapas de c a f para adicionar:
      • API Cloud Service Mesh Certificate Authority
      • API GKE Hub
      • API Cloud IAM
      • API Cloud Monitoring
      • Cloud Trace API
      • API Cloud Monitoring
      • API Google Cloud Resource Manager
      • API Cloud Run
      • API Google Compute Engine
      • API Google Container Registry
      • API Artifact Registry
      • API Google Cloud Storage
    8. Clique em Salvar.

    gcloud

    Para atualizar a lista de serviços restritos, use o comando update e especifique os serviços a serem adicionados como uma lista delimitada por vírgulas:

    gcloud access-context-manager perimeters update PERIMETER_NAME \
      --add-restricted-services=meshconfig.googleapis.com,meshca.googleapis.com,gkehub.googleapis.com,iam.googleapis.com,monitoring.googleapis.com,cloudtrace.googleapis.com,monitoring.googleapis.com,cloudresourcemanager.googleapis.com,run.googleapis.com,compute.googleapis.com,containerregistry.googleapis.com,artifactregistry.googleapis.com,storage.googleapis.com \
      --policy=POLICY_NAME

    Em que:

    • PERIMETER_NAME é o nome do perímetro de serviço que você quer atualizar.

    • POLICY_NAME é o nome numérico da política de acesso da sua organização. Por exemplo, 330193482019.

  3. Clique em Serviços acessíveis da VPC e defina-os como "Todos os serviços restritos" para que os serviços restritos na etapa acima continuem acessíveis no perímetro do VPC-SC.

  4. A menos que você esteja instalando o Anthos Service Mesh de uma rede no perímetro, adicione uma regra de entrada para permitir que a identidade que executa o comando asmcli acesse o perímetro de serviço.

    Para mais informações, consulte Como atualizar um perímetro de serviço.

Instalar o Anthos Service Mesh gerenciado em um perímetro de VPC-SC

Siga as etapas na página Configurar o Anthos Service Mesh gerenciado. Em seguida, verifique se o plano de controle foi provisionado com sucesso e se não há erros relacionados a VPC-SC.

Solução de problemas

Não é possível criar o cluster com a imagem mais recente do GKE 1.22

Há um problema conhecido que impede a criação de um cluster com a imagem 1.22 mais recente em um ambiente restrito VPC-SC. A solução é criar esse cluster primeiro com a imagem padrão do canal GKE e, em seguida, fazer upgrade da imagem:

gcloud container clusters create CLUSTER \
  --region REGION \
  --release-channel=rapid \
  --workload-pool=PROJECT_ID.svc.id.goog \
  --project PROJECT_ID
gcloud container clusters upgrade CLUSTER \
  --region REGION \
  --master --cluster-version 1.22 \
  --project PROJECT_ID

Os contêineres não podem fazer o download das imagens.

Isso pode acontecer se as imagens estiverem localizadas fora do perímetro de serviço. Mova as imagens para um bucket localizado dentro do perímetro ou atualize o perímetro para adicionar uma regra de saída. Normalmente, a regra de saída pode permitir que identidades selecionadas acessem a API Container Registry, a API Artifact Registry e a API Cloud Storage.

O campo "Status" da CRD ControlPlaneRevision exibe erros VPC-SC

Caso contrário, execute este comando para mais informações sobre o erro:

gcloud logging read --project=PROJECT_ID \
'protoPayload.metadata.@type=type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata'

Em que:

  • PROJECT_ID é o ID do projeto que encontra erros.