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:
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.
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
- Siga as etapas em Como atualizar um perímetro de serviço para editar o perímetro.
- Clique na página Editar perímetro de serviço da VPC.
- Em Serviços restritos, Serviços a serem protegidos, clique em Adicionar serviços.
- Na caixa de diálogo Especificar serviços a serem restringidos, clique em Filtrar serviços e digite API de configuração de malha.
- Marque a caixa de seleção do serviço.
- Clique em Adicionar API Mesh Configuration.
- 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
- 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
.
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.
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.