VPC Service Controls para Cloud Service Mesh (gerenciado)
O Cloud Service Mesh (gerenciado) oferece suporte ao VPC Service Controls como um recurso de disponibilidade geral (GA) para novos planos de controle.
Para verificar se o plano de controle oferece suporte ao VPC Service Controls GA, verifique o estado do recurso de malha da sua associação para a condição VPCSC_GA_SUPPORTED.
gcloud container fleet mesh describe --project FLEET_PROJECT_ID
A saída é semelhante a:
(...) membershipStates: projects/FLEET_PROJECT_NUMBER/locations/MEMBERSHIP_LOCATION/memberships/MEMBERSHIP_ID: servicemesh: conditions: - code: VPCSC_GA_SUPPORTED details: This control plane supports VPC Service Controls GA. documentationLink: http://cloud.google.com/service-mesh/docs/managed/VPC Service Controls severity: INFO (...)
Se você tiver um plano de controle que não informe a condição VPCSC_GA_SUPPORTED e quiser usar o VPC Service Controls, entre em contato com o suporte.
Antes de começar
A política da organização e o perímetro de serviço do VPC Service Controls são configurados no nível da organização. Verifique se você recebeu os papéis adequados para administrar o VPC Service Controls.
Configurar o perímetro de serviço do VPC Service Controls
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 do VPC Service Controls.
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 Cloud 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 Cloud Service Mesh falhe ou não funcione corretamente. Por exemplo, se você não adicionar a API de configuração de malha 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 Google Compute Engine
- API Google Container Registry
- API Artifact Registry
- API Google Cloud Storage
- API Cloud Logging
- API Security Token Service
- 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,compute.googleapis.com,containerregistry.googleapis.com,artifactregistry.googleapis.com,storage.googleapis.com,logging.googleapis.com,sts.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 como "Todos os serviços restritos" para que os serviços restritos na etapa acima continuem acessíveis no perímetro do VPC Service Controls.
A menos que você esteja instalando o Cloud 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 Cloud Service Mesh gerenciado em um perímetro do VPC Service Controls
Siga as etapas na página Configurar o Cloud Service Mesh gerenciado. Em seguida, verifique se o plano de controle foi provisionado com sucesso e se não há erros relacionados ao VPC Service Controls.
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 do VPC Service Controls. 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 do VPC Service Controls
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.