Como usar os nós protegidos do GKE

Nesta página, você aprende a usar os nós protegidos do GKE. Os nós protegidos do GKE fornecem integridade e identidade forte e verificável de nós para aumentar a segurança dos nós do GKE.

Visão geral

Os nós protegidos do GKE são criados com base nas VMs protegidas do Compute Engine. Os nós protegidos do GKE oferecem o seguinte:

Verificação da procedência do SO do nó
Uma verificação que pode ser confirmada por criptografia para garantir que o SO do nó esteja em execução em uma máquina virtual em um data center do Google.
Proteção aprimorada do rootkit e do bootkit

Os nós protegidos do GKE asseguram contra rootkits e bootkits que ganham persistência no nó usando:

  • inicialização segura e medida;
  • módulo de plataforma confiável virtual (vTPM, na sigla em inglês)
  • firmware UEFI
  • Monitoramento de integridade

Consulte mais detalhes na documentação da VM protegida.

Os nós protegidos do GKE podem ser usados com GPUs.

Não há custo extra para executar nós protegidos do GKE. No entanto, eles geram cerca de 0,5 KB a mais de registros na inicialização do que os nós padrão. Consulte os detalhes na página de preços do Cloud Logging.

Disponibilidade

  • Os nós protegidos do GKE estão disponíveis no GKE 1.13.6-gke.0 e superior.
  • Os nós protegidos do GKE estão disponíveis em todas as zonas e regiões.
  • Os nós protegidos do GKE podem ser usados com imagens de nós do Container-Optmized OS (COS), COS com containerd e Ubuntu.

Antes de começar

Antes de começar, verifique se você realizou as tarefas a seguir:

Defina configurações gcloud padrão usando um dos métodos a seguir:

  • Use gcloud init se quiser orientações para definir os padrões.
  • Use gcloud config para definir individualmente a região, a zona e o ID do projeto.

Como usar o gcloud init

  1. Execute gcloud init e siga as instruções:

    gcloud init

    Se você estiver usando SSH em um servidor remoto, utilize a sinalização --console-only para impedir que o comando inicie um navegador:

    gcloud init --console-only
  2. Siga as instruções para autorizar gcloud a usar sua conta do Google Cloud.
  3. Crie uma nova configuração ou selecione uma atual.
  4. Escolha um projeto do Google Cloud.
  5. Escolha uma zona padrão do Compute Engine.

Como usar o gcloud config

  • Defina o ID do projeto padrão:
    gcloud config set project project-id
  • Se você estiver trabalhando com clusters zonais, defina a zona do Compute padrão:
    gcloud config set compute/zone compute-zone
  • Se você estiver trabalhando com clusters regionais, defina a região do Compute padrão:
    gcloud config set compute/region compute-region
  • Atualize gcloud para a versão mais recente:
    gcloud components update

Como ativar nós protegidos do GKE em um novo cluster

É possível criar um novo cluster com os nós protegidos do GKE ativados usando a ferramenta gcloud ou o Console do Google Cloud.

gcloud

Ao criar um novo cluster, especifique a opção --enable-shielded-nodes:

gcloud container clusters create [CLUSTER_NAME] --enable-shielded-nodes
    

Console

  1. Acesse o menu do Google Kubernetes Engine no Console do Cloud.

    Acessar o menu do Google Kubernetes Engine

  2. Clique no botão Criar cluster.

  3. No painel de navegação, em Cluster, clique em Segurança.

  4. Marque a caixa de seleção Ativar os nós protegidos do GKE.

  5. Configure o cluster como quiser.

  6. Clique em Criar.

Consulte Como criar um cluster para mais detalhes sobre a criação de clusters.

Como ativar nós protegidos do GKE em um cluster atual

Use a ferramenta de linha de comando gcloud ou o Console do Google Cloud para ativar os nós protegidos do GKE em um cluster atual.

Depois de ativar os nós protegidos do GKE, o plano de controle e os nós são recriados como VMs protegidas. O plano de controle não fica disponível enquanto está sendo recriado. Os nós do cluster são recriados de maneira contínua para minimizar a inatividade.

gcloud

Ao atualizar o cluster, especifique a opção --enable-shielded-nodes:

gcloud container clusters update [CLUSTER_NAME] --enable-shielded-nodes
    

console

  1. Acesse o menu do Google Kubernetes Engine no Console do Cloud.

    Acessar o menu do Google Kubernetes Engine

  2. Clique no botão "Editar" do cluster, que se parece com um lápis.

  3. Na lista suspensa Nós protegidos do GKE, selecione Ativado.

Configurações opcionais

Inicialização segura e monitoramento de integridade são recursos extras que podem ser usados com os nós do GKE protegidos. Os nós do GKE protegidos, inicialização segura e monitoramento de integridade são recursos independentes que podem ser ativados ou desativados individualmente.

Inicialização segura

Por padrão, a inicialização segura fica desativada no GKE, já que não é possível carregar os módulos de kernel não assinados de terceiros quando a ela está ativada.

Se você não usa módulos de kernel não assinados de terceiros, é possível ativar a inicialização segura com a ferramenta de linha de comando gcloud ou Console do Google Cloud:

gcloud

Para ativar a inicialização segura ao criar um cluster:

gcloud container cluster create [CLUSTER_NAME] --shielded-secure-boot
    

Para ativar a inicialização segura ao criar um pool de nós:

gcloud container node-pool create [POOL_NAME] --shielded-secure-boot
    

A inicialização segura está desativada por padrão. Desative-a explicitamente ao criar um cluster ou pool de nós com a opção --no-shielded-secure-boot.

Console

Para ativar a inicialização segura ao criar um pool de nós:

  1. Navegue até a página de detalhes do cluster.
  2. Na parte superior da página, clique em Adicionar pool de nós.
  3. Na seção "Opções protegidas", marque a caixa de seleção Inicialização segura.

Monitoramento da integridade do sistema

O monitoramento de integridade está ativado por padrão no GKE. É possível desativar o monitoramento de integridade com a ferramenta de linha de comando gcloud ou o Console do Google Cloud.

gcloud

Para desativar o monitoramento de integridade de componentes do sistema ao criar um cluster:

gcloud container cluster create [CLUSTER_NAME] --no-shielded-integrity-monitoring
    

Para desativar o monitoramento de integridade de componentes do sistema ao criar um pool de nós:

gcloud container node-pool create [POOL_NAME] --no-shielded-integrity-monitoring
    

O monitoramento de integridade é ativado por padrão. É possível ativá-lo explicitamente ao criar um cluster ou pool de nós com a opção --shielded-integrity-monitoring.

Console

Para desativar o monitoramento de integridade ao criar um pool de nós:

  1. Navegue até a página de detalhes do cluster.
  2. Na parte superior da página, clique em Adicionar pool de nós.
  3. Na seção "Opções protegidas", desmarque a caixa de seleção Monitoramento de integridade.

Como verificar se os nós protegidos do GKE estão ativados

Use a ferramenta de linha de comando gcloud ou o Console do Google Cloud para verificar se o cluster está usando nós do GKE protegidos.

gcloud

Descreva o cluster:

gcloud container clusters describe [CLUSTER_NAME]
    

Se os nós protegidos do GKE estiverem ativados, a resposta ao comando incluirá estas linhas:

    shieldedNodes:
    enabled: true
    

Console

  1. Navegue até a guia de detalhes do cluster clicando no nome dele na lista de clusters do projeto.
  2. Na lista de detalhes, verifique se os nós protegidos do GKE estão ativados.

Também é possível monitorar a integridade das VMs protegidas subjacentes dos nós. Veja o procedimento em Como monitorar a integridade em instâncias de VM protegida.

Como desativar os nós protegidos do GKE

Desative os nós do GKE protegidos com a ferramenta de linha de comando gcloud ou com o Console do Google Cloud.

gcloud

Ao atualizar o cluster, especifique a opção --no-enable-shielded-nodes:

gcloud container clusters update [CLUSTER_NAME] --no-enable-shielded-nodes
    

console

  1. Navegue até a página de edição de clusters.
  2. Selecione Desativado no menu de nós protegidos do GKE.

Captura de tela da interface de edição de clusters

Depois de desativar os nós protegidos do GKE, o plano de controle e os nós são recriados como VMs comuns não protegidas. O plano de controle não fica disponível enquanto está sendo recriado. Os nós do cluster são recriados de maneira contínua para minimizar a inatividade.

A seguir