Nesta página, mostramos como usar o recurso de nós confidenciais do Google Kubernetes Engine. Os nós confidenciais do GKE fornecem criptografia em uso para suas cargas de trabalho.
Visão geral
Os nós confidenciais do GKE são criados com base na VM confidencial do Compute Engine, que criptografa o conteúdo da memória das VMs em uso. Os clusters com nós confidenciais do GKE ativados impõem o uso de VMs confidenciais a todos os nós. Isso significa que os nós, incluindo as cargas de trabalho em execução, são criptografados em uso. Para ter visibilidade sobre seu plano de controle, use a transparência no acesso.
Não há custo extra para implantar nós confidenciais do GKE, além do custo das VMs confidenciais do Compute Engine. No entanto, eles podem gerar um pouco mais de dados de registro na inicialização do que os nós padrão. Para informações sobre preços de registros, consulte Preços do pacote de operações do Google Cloud.
Disponibilidade
Os nós confidenciais do GKE estão disponíveis nas seguintes situações:
- Os nós confidenciais do GKE estão disponíveis no canal de lançamento rápido para as versões 1.18.6-gke.1600 e posteriores do GKE.
- Os nós confidenciais do GKE estão disponíveis em zonas e regiões com instâncias N2D disponíveis.
- Os nós confidenciais do GKE podem ser usados com o Container-Optimized OS
e o containerd no Container-Optimized OS (
cos_containerd
). - Os nós confidenciais do GKE aplicam o uso de VMs confidenciais nos pools de nós.
- As VMs confidenciais só estão disponíveis em instâncias N2D do Compute Engine.
Antes de começar
Antes de começar, verifique se você realizou as tarefas a seguir:
- Verifique se você ativou a API Google Kubernetes Engine. Ativar a API Google Kubernetes Engine
- Verifique se o SDK do Cloud está instalado.
Defina as configurações padrão da gcloud
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
Se você receber o erro One of [--zone, --region] must be supplied: Please specify
location
, conclua esta seção.
-
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
-
Siga as instruções para autorizar a
gcloud
a usar sua conta do Google Cloud. - Crie uma nova configuração ou selecione uma atual.
- Escolha um projeto do Google Cloud.
- 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 confidenciais do GKE em um novo cluster
Para criar um novo cluster com nós confidenciais do GKE ativados, especifique a
opção --enable-confidential-nodes
na ferramenta de linha de comando gcloud
:
gcloud beta container clusters create CLUSTER_NAME \
--release-channel=rapid \
--machine-type N2D_MACHINE_TYPE \
--enable-confidential-nodes
Substitua:
CLUSTER_NAME: o nome do novo cluster;
--release-channel=rapid
: o canal de lançamento precisa serrapid
.N2D_MACHINE_TYPE: o tipo de máquina do pool de nós padrão do cluster, que precisa ser um tipo de máquina N2d.
Depois de criar um cluster com nós confidenciais do GKE, todos os pools de nós criados nele só poderão ser nós confidenciais.
Como verificar se os nós confidenciais do GKE estão ativados
Para verificar se o cluster está usando nós confidenciais do GKE, execute o seguinte comando
com a ferramenta de linha de comando gcloud
:
gcloud beta container clusters describe CLUSTER_NAME
Se os nós confidenciais do GKE estiverem ativados, a resposta ao comando incluirá estas linhas:
confidentialNodes:
enabled: true
Para validar a confidencialidade dos nós, veja os eventos de atestado de inicialização para nós individuais nos registros do Compute Engine. Para mais informações, consulte Como validar a VM confidencial usando o Cloud Monitoring.
Como executar aplicativos em nós confidenciais do GKE
A abordagem do Google para a computação confidencial é possibilitar uma migração lift-and-shift fácil para os aplicativos existentes. As cargas de trabalho do GKE executadas hoje podem ser executadas em nós confidenciais do GKE sem alterações de código.
Opcionalmente, se você quiser expressar de maneira declarada que suas cargas de trabalho precisam ser
executadas somente em clusters com nós confidenciais do GKE, use o
seletor de nós cloud.google.com/gke-confidential-nodes
. Veja um exemplo de especificação
de pod que usa esse seletor:
apiVersion: v1
kind: Pod
spec:
containers:
- name: my-confidential-app
image: gcr.io/myproject/my-confidential-app
nodeSelector: cloud.google.com/gke-confidential-nodes:true
Limitações
Considere as seguintes limitações antes de ativar os nós confidenciais do GKE em um novo cluster:
- No momento, não é possível criar um cluster com nós confidenciais do GKE
usando o Console do Google Cloud. Em vez disso, use a ferramenta de linha de comando
gcloud
. - Não é possível ativar os nós confidenciais do GKE em clusters existentes.
- Não é possível desativar os nós confidenciais do GKE depois que eles são ativados em um cluster.
- Os nós confidenciais do GKE não são compatíveis com GPUs.
- Os nós confidenciais do GKE não são compatíveis com nós de locatário individual.
- No momento, não é possível adicionar SSDs locais ou discos permanentes quando os nós confidenciais do GKE estão ativados.
- Somente os nós do Container-Optimized OS são compatíveis. Nós do Ubuntu e Windows não são compatíveis.
- As VMs confidenciais para nós do plano de controle (mestre) não são compatíveis.
A seguir
- Saiba mais sobre VMs confidenciais.
- Saiba mais sobre imagens de nós.
- Saiba mais sobre a criptografia em repouso no Google Cloud.
- Saiba mais sobre a criptografia em trânsito no Google Cloud.
- Saiba mais sobre as chaves de criptografia gerenciadas pelo cliente (CMEK).
- Saiba mais sobre criptografia de secrets da camada de aplicativos.