Clusters do Kubernetes no GDC

Este documento descreve as opções e funcionalidades de cluster do Kubernetes disponíveis no Google Distributed Cloud (GDC) com isolamento físico. Os clusters do Kubernetes oferecem um serviço gerenciado do Kubernetes com o Google Kubernetes Engine (GKE), que permite implantar e executar cargas de trabalho de contêiner usando metodologias padrão do setor.

Este documento é destinado a públicos como administradores de TI no grupo de administradores da plataforma e desenvolvedores de aplicativos no grupo de operadores de aplicativos, que são responsáveis por gerenciar cargas de trabalho de contêiner na organização. Para mais informações, consulte Públicos-alvo da documentação do GDC com isolamento físico.

GKE em um ambiente desconectado

O GKE no GDC é um serviço gerenciado do Kubernetes que traz recursos e funcionalidades principais do GKE para seu ambiente desconectado. Para fins de documentação, os clusters gerenciados pelo GKE no GDC são chamados de clusters do Kubernetes. Para mais informações sobre conceitos do Kubernetes, consulte Começar a aprender sobre o Kubernetes.

O GKE no GDC permite criar e gerenciar cargas de trabalho de contêiner no seu ambiente desconectado de maneira semelhante ao uso do GKE no Google Cloudpúblico.

A tabela a seguir faz uma comparação entre os clusters no GDC e Google Cloud:

Recurso Descrição GKE no GDC GKE em Google Cloud
Totalmente desconectado Operacional em um ambiente sem conexão com a Internet. Sim Não
Solução de backup Serviço para criar cópias de dados e configurações de um cluster para garantir a proteção de dados e permitir a recuperação de falhas, erros ou ataques cibernéticos. Backup para GDC Backup para GKE
Geração de registros e monitoramento integrados Serviço que combina a coleta e a análise de registros com o monitoramento de indicadores principais de desempenho para uma visão abrangente do comportamento do cluster. Prometheus, Grafana e Loki Cloud Logging e Cloud Monitoring
Registro de contêiner gerenciado Serviço que hospeda e organiza imagens de contêiner, processando infraestrutura, disponibilidade e segurança para as imagens. Serviço gerenciado do Harbor Artifact Registry
Isolamento de contêiner Capacidade de manter os aplicativos de contêiner e as dependências deles separados e independentes entre si e do sistema host. Sim Sim
Suporte a GPUs e TPUs Unidades de computação de alto desempenho que permitem recursos de processamento aprimorados. Somente GPUs GPUs e TPUs
Escalonamento automático do pod horizontal Ajuste automático do número de réplicas de pod em uma implantação ou outra carga de trabalho com base em métricas observadas, como uso de CPU ou uso da memória. Sim Sim
Contêineres Linux Ambiente isolado para executar aplicativos em um host Linux. Sim Sim
UI para clusters Interface gráfica que oferece uma maneira visual e fácil de usar para gerenciar e monitorar um cluster. Somente cluster compartilhado Sim
UI para recursos de cluster Interface gráfica que oferece uma maneira visual e fácil de usar para gerenciar e monitorar as cargas de trabalho de contêiner de um cluster. Somente leitura Sim

Para mais informações sobre o GKE e o conjunto completo de recursos disponíveis no Google Cloudpúblico, consulte Conheça a documentação do GKE.

Benefícios dos clusters do Kubernetes

O GKE no GDC oferece benefícios importantes para seus clusters do Kubernetes, como:

  • Gerenciamento do ciclo de vida de vários clusters: implante vários clusters no GDC simultaneamente para uma variedade de instâncias hospedadas para suas cargas de trabalho de contêiner.
  • Distribuição do Kubernetes com suporte total: crie clusters agrupados com recursos padrão atualizados do Kubernetes.
  • Visibilidade de custos: monitore o uso e os insights em tempo real, ajudando você a monitorar continuamente os custos do Kubernetes.
  • Gerenciamento de várias equipes: conceda a vários grupos de usuários acesso a clusters do Kubernetes para limites de gerenciamento flexíveis.
  • Fluxos de trabalho automatizados do Kubernetes: conte com o provisionamento automático de nós e o escalonamento automático horizontal de pods para gerenciar suas cargas de trabalho de contêineres sem problemas.

Todos esses recursos vêm padrão com o GKE na GDC e estão disponíveis para uso com clusters criados pelo serviço gerenciado do Kubernetes.

Arquitetura do cluster do GDC

Os clusters do Kubernetes são separados logicamente uns dos outros para oferecer diferentes domínios de falha e garantias de isolamento. Em alguns casos, eles são até mesmo separados fisicamente.

Você configura um cluster do Kubernetes como um cluster compartilhado ou padrão. Um cluster compartilhado abrange vários projetos. Um cluster padrão tem escopo em um único projeto. Para mais informações, consulte Configurações de cluster do Kubernetes.

Um cluster do Kubernetes consiste em um plano de controle e máquinas de worker chamadas nós. O plano de controle e os nós compõem o sistema de orquestração de clusters do Kubernetes. O GKE na GDC gerencia toda a infraestrutura subjacente dos clusters, incluindo o plano de controle e todos os componentes do sistema. Você é responsável por gerenciar os nós de trabalho que executam suas cargas de trabalho conteinerizadas.

O diagrama a seguir mostra a arquitetura de um cluster do Kubernetes:

Um cluster do Kubernetes consiste em um plano de controle, nós e serviços.

Este diagrama mostra um cluster do Kubernetes com os seguintes componentes:

Sobre o plano de controle

O plano de controle executa processos como o servidor da API Kubernetes, o programador e os controladores dos recursos principais. O GKE no GDC gerencia o ciclo de vida do plano de controle desde a criação até a exclusão do cluster. Isso inclui upgrades da versão do Kubernetes em execução no plano de controle, que o GDC realiza automaticamente. Se você preferir, também é possível fazer o upgrade manualmente antes da programação automática.

O plano de controle e a API Kubernetes

O plano de controle é o endpoint unificado para o cluster. Você interage com o plano de controle por meio de chamadas da API Kubernetes. O plano de controle executa o processo do servidor da API Kubernetes, ou kube-apiserver, para lidar com solicitações de API. É possível fazer chamadas de API do Kubernetes das seguintes maneiras:

  • Chamadas diretas: KRM
  • Chamadas indiretas: clientes de linha de comando do Kubernetes, como a CLI kubectl ou o console do GDC.

O processo do servidor da API é o hub central para todas as comunicações do cluster. Todos os componentes internos do cluster, como nós, processos do sistema e controladores de aplicativos, atuam como clientes do servidor da API.

As solicitações de API informam ao Kubernetes qual é o estado escolhido para os objetos no cluster. O Kubernetes tenta manter esse estado constantemente. O Kubernetes permite configurar objetos na API de maneira imperativa ou declarativa.

Gerenciamento de nós de trabalho

O plano de controle decide o que é executado em todos os nós do cluster. O plano de controle programa cargas de trabalho e gerencia o ciclo de vida, o escalonamento e os upgrades delas. O plano de controle também gerencia recursos de rede e de armazenamento para essas cargas de trabalho. O plano de controle e os nós se comunicam usando as APIs do Kubernetes.

Sobre nós

Nós são as máquinas de worker que executam seus aplicativos conteinerizados e outras cargas de trabalho. As máquinas individuais são máquinas virtuais (VMs) criadas pelo GKE no GDC. O plano de controle gerencia e recebe atualizações sobre o status informado de cada nó.

Um nó executa os serviços necessários para a compatibilidade dos contêineres que compõem as cargas de trabalho do cluster. Eles incluem o ambiente de execução e o agente do nó do Kubernetes, ou kubelet, que se comunica com o plano de controle e é responsável por iniciar e executar contêineres programados no nó.

O GKE no GDC também executa vários contêineres do sistema que são executados como agentes por nó, chamados DaemonSets, que fornecem recursos como coleta de registros e conectividade de rede intracluster.

Os nós são agrupados em um pool de nós, que é um conjunto de nós em um cluster que compartilham a mesma configuração e características. Não é possível configurar um único nó em um pool de nós.

Os pools de nós personalizados são úteis ao agendar pods que exigem mais recursos que outros, como mais memória ou espaço em disco local. Use taints de nó se precisar de mais controle sobre o agendamento de pods.

Para mais informações, consulte Gerenciar pools de nós.

Configurações de cluster do Kubernetes

As seguintes configurações de cluster estão disponíveis com o serviço do GKE no GDC para gerenciar suas cargas de trabalho de contêiner em uma organização:

  • Cluster compartilhado: um cluster do Kubernetes no escopo da organização que abrange vários projetos e não é gerenciado por um único projeto, mas sim anexado a eles.
  • Cluster padrão: um cluster do Kubernetes no escopo de um projeto que gerencia recursos do cluster dentro de um projeto e não pode abranger vários projetos.

Escolha o cluster que melhor atenda aos seus requisitos para gerenciar cargas de trabalho de contêineres. Para mais informações, consulte Configurações de cluster do Kubernetes.

Cargas de trabalho de GPU em um cluster

O GDC oferece suporte a GPUs NVIDIA para clusters do Kubernetes, e eles executam seus dispositivos de GPU como cargas de trabalho do usuário. Por exemplo, talvez você prefira executar notebooks de inteligência artificial (IA) e machine learning (ML) em um ambiente de GPU. Configure o cluster para oferecer suporte a dispositivos de GPU provisionando máquinas de GPU para eles. Para uma lista de tipos de máquina compatíveis com clusters do Kubernetes no GDC, consulte Máquinas de nós do cluster.

As GPUs são alocadas de forma estática. As quatro primeiras GPUs são sempre dedicadas a cargas de trabalho como APIs de IA e ML pré-treinadas. Essas GPUs não são executadas em um cluster do Kubernetes. As GPUs restantes estão disponíveis para clusters do Kubernetes. Os notebooks de IA e ML são executados em clusters do Kubernetes.

Alocar máquinas com GPU para os tipos de cluster corretos permite que componentes como APIs de IA e ML sejam executados no cluster. Para mais informações, consulte Criar um cluster compartilhado ou Criar um cluster padrão.

Limitações do GKE no GDC

As seguintes funcionalidades do GKE são limitações não disponíveis para GKE no GDC:

A seguir