Nesta página, mostramos como aplicar dinamicamente tags de rede a nós nos clusters do Google Kubernetes Engine (GKE) sem interromper as cargas de trabalho em execução.
Sobre tags de rede
Tags de rede são metadados em m´quinas virtuais (VMs) do Compute Engine que permitem criar regras de firewall e rotas aplicáveis a instâncias de VM específicas. No GKE, é possível usar tags de rede para tornar as regras de firewall ou as rotas aplicáveis aos nós no cluster.
É possível usar a API GKE para aplicar e atualizar tags de rede nos clusters do GKE sem interromper a execução das cargas de trabalho. As tags de rede especificadas também são aplicadas a todos os novos nós provisionados automaticamente pelo GKE.
Use tags em vez de tags de rede
As tags de rede são strings simples que não estão sujeitas aos controles de acesso do Identity and Access Management. Qualquer pessoa com acesso aos seus nós na API GKE pode adicionar tags de rede a esses nós.
Se você usa a versão 1.28 ou posterior do GKE, recomendamos o usoTags com uma designação de firewall para aplicar regras de segurançapolíticas de firewall da rede , que melhoram os recursos das regras de firewall da VPC.
As tags são pares de chave-valor que você anexa às VMs do Compute Engine. Use o IAM para controlar quem pode interagir com tags específicas.
- Para usar tags para aplicar políticas de firewall no GKE, consulte Aplicar seletivamente políticas de firewall de rede no GKE.
- Para conhecer os benefícios das tags, consulte Comparação entre tags e tags de rede.
- Para ajuda com a migração de regras de firewall para políticas de firewall de rede, consulte Regras de firewall da VPC do Google Cloud para políticas de firewall de rede - guia de migração (PDF).
Opções de linha de comando para aplicar tags de rede
A tabela a seguir descreve as sinalizações que podem ser especificadas usando a CLI do Google Cloud para aplicar tags de rede aos clusters, bem como os casos de uso deles.Flag | Modo de operação | Nível | Descrição |
---|---|---|---|
--autoprovisioning-network-tags |
|
Cluster |
Aplica as tags de rede especificadas a todos os nós do Autopilot e a todos os pools de nós padrão provisionados automaticamente. |
--tags |
|
Pool de nós | Aplica manualmente tags de rede a pools de nós padrão específicos. |
Limitações
O uso de --autoprovisioning-network-tags
impede que você use --tags
para atualizar as tags de rede dos pools de nós padrão provisionados automaticamente.
Recomendamos que você use --autoprovisioning-network-tags
para pools de nós com provisionamento automático e que você use --tags
somente para pools de nós criados manualmente.
Antes de começar
Antes de começar, verifique se você realizou as tarefas a seguir:
- Ativar a API Google Kubernetes Engine. Ativar a API Google Kubernetes Engine
- Se você quiser usar a Google Cloud CLI para essa tarefa,
instale e, em seguida,
inicialize a
CLI gcloud. Se você instalou a CLI gcloud anteriormente, instale a versão
mais recente executando
gcloud components update
.
Adicionar tags de rede a novos clusters
Você pode adicionar tags de rede ao criar um novo cluster.
Adicionar tags de rede a novos clusters
Execute este comando:
gcloud container clusters create-auto CLUSTER_NAME \
--location=LOCATION \
--autoprovisioning-network-tags=TAG1,TAG2,...
Substitua:
CLUSTER_NAME
: o nome do novo cluster de Autopilot.LOCATION
: o local do Compute Engine para o novo cluster.TAG1,TAG2, ...
: uma lista separada por vírgulas das tags de rede que você quer aplicar.
Adicionar tags de rede a novos clusters
No caso do Standard, também é possível especificar tags de rede especificamente para o provisionamento automático de nós.
Aplicar tags de rede ao pool de nós padrão
Execute o comando a seguir para criar um novo cluster padrão e aplicar tags de rede ao pool de nós padrão:
gcloud container clusters create CLUSTER_NAME \
--location=LOCATION \
--tags=NETWORK_TAG1,NETWORK_TAG2,...
Substitua:
CLUSTER_NAME
: o nome do novo cluster padrão.COMPUTE_REGION
: o local do Compute Engine para o novo cluster.NETWORK_TAG1,NETWORK_TAG2, ...
: uma lista separada por vírgulas das tags de rede que você quer aplicar.
Aplicar tags de rede a pools de nós com provisionamento automático
É possível aplicar tags de rede automaticamente a todos os pools de nós criados pelo provisionamento automático de nós.
Execute este comando:
gcloud container clusters create CLUSTER_NAME \
--location=LOCATION \
--enable-autoprovisioning \
--autoprovisioning-network-tags=TAG1,TAG2,...
Substitua TAG1,TAG2,...
por uma lista separada por vírgulas
de tags de rede que você quer aplicar a todos os pools de nós provisionados automaticamente.
Atualizar tags de rede em clusters atuais
É possível atualizar as tags de rede em clusters atuais.
Atualizar tags de rede em clusters atuais
Execute este comando:
gcloud container clusters update CLUSTER_NAME \
--autoprovisioning-network-tags=TAG1,TAG2,...
Atualizar tags de rede em clusters atuais
Execute o seguinte comando para atualizar as tags de rede em um pool de nós padrão específico. Não é possível usar esse comando para atualizar pools de nós provisionados automaticamente
se você usou --autoprovisioning-network-tags
.
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--tags=NETWORK_TAG1,NETWORK_TAG2,...
Se --autoprovisioning-network-tags
estiver definido para o cluster, esse comando retornará um erro.
Atualizar tags de rede para pools de nós com provisionamento automático
É possível atualizar as tags de rede que o provisionamento automático de nós aplica aos pools de nós novos e atuais provisionados automaticamente.
Execute este comando:
gcloud container clusters update CLUSTER_NAME \
--autoprovisioning-network-tags=TAG1,TAG2,...
Adicionar tags de rede a novos pools de nós padrão
Para criar um novo pool de nós em um cluster padrão com tags de rede específicas, execute o seguinte comando:
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--tags=NETWORK_TAG1,NETWORK_TAG2,...
Substitua NODE_POOL_NAME
pelo nome do novo pool
de nós.
Ver tags de rede existentes
Nesta seção, mostramos como visualizar suas tags de rede.
Conferir as tags de rede atuais no Autopilot
Execute este comando:
gcloud container clusters describe CLUSTER_NAME \
--flatten=nodePoolAutoConfig.networkTags
Se o cluster tiver tags de rede, a saída será semelhante a esta:
---
tags:
- example-tag
Visualizar tags de rede existentes em Standard
É possível visualizar as tags de rede em pools de nós provisionados automaticamente ou em pools de nós criados.
Conferir tags de rede em pools de nós provisionados automaticamente
Execute este comando:
gcloud container clusters describe CLUSTER_NAME \
--flatten=nodePoolAutoConfig.networkTags
Se o cluster tiver tags de rede, a saída será semelhante a esta:
---
tags:
- example-tag
Conferir tags de rede em pools de nós sem provisionamento automático de nós
Para visualizar as tags de rede de um pool de nós padrão específico em que você as aplicou usando o flag --tags
, execute o seguinte comando:
gcloud container node-pools describe NODE_POOL_NAME\
--cluster=CLUSTER_NAME \
--format='value(config.tags)'
Substitua NODE_POOL_NAME
pelo nome do pool de nós.
Se o pool de nós tiver tags, a saída será semelhante a esta:
example-tag
Remover tags de rede
É possível remover as tags de rede do GKE.
Remover tags de rede dos clusters do Autopilot
Execute este comando:
gcloud container clusters update CLUSTER_NAME \
--autoprovisioning-network-tags=""
Remova as tags de rede de clusters e pools de nós
É possível remover tags de todos os pools de nós provisionados automaticamente ou de pools de nós específicos.
Remover tags de rede dos pools de nós com provisionamento automático
Para remover as tags de rede de todos os pools de nós com provisionamento automático, execute o seguinte comando:
gcloud container clusters update CLUSTER_NAME \
--autoprovisioning-network-tags=""
Esse comando também restaura sua capacidade de usar a opção --tags
para especificar manualmente as tags de rede para os pools de nós com provisionamento automático.
Remova tags de rede de pools de nós específicos
Para remover tags de rede de pools de nós específicos, execute o comando a seguir:
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--tags=""
A seguir
- Saiba mais sobre tags de rede.
- Saiba como aplicar rótulos de cluster para melhorar o gerenciamento de clusters.