Visão geral do GKE On-Prem

O GKE On-Prem é um software de nuvem híbrida que leva o Google Kubernetes Engine (GKE) para data centers locais. Com o GKE On-Prem, é possível criar, gerenciar e fazer upgrade de clusters do Kubernetes no ambiente no local e conectar esses clusters ao console do Google Cloud.

Este tópico é uma visão geral técnica do GKE On-Prem. Depois de concluir este tópico, leia os Requisitos do sistema.

Conceitos básicos do Kubernetes

O GKE On-Prem e o GKE são criados com base no Kubernetes, uma plataforma extensível de código aberto para gerenciar aplicativos em contêineres. O Kubernetes orquestra clusters, que são conjuntos de nós (também chamados de "máquinas") que executam aplicativos em contêineres.

Como acessar o GKE On-Prem

O GKE On-Prem é um componente essencial do Anthos. Para usar o GKE On-Prem, primeiro entre em contato com a equipe de vendas do Google e adquira uma assinatura do Anthos.

Como se preparar para o GKE On-Prem

A instalação do GKE On-Prem envolve a conclusão de algumas tarefas de configuração de pré-requisito. As seções a seguir descrevem essas tarefas.

Ambiente de virtualização VMware vSphere

Você instala o GKE On-Prem em um cluster do VMware vSphere 6.5 em execução no ambiente no local. O vSphere é o software de virtualização de servidor da VMware.

Você também adquire o VMware vCenter e o VMware ESXi. O ESXi é um hipervisor tipo 1 que você instala em um conjunto de hosts/servidores físicos no seu data center. O vCenter é a interface do usuário baseada na Web do vSphere para gerenciar serviços de data center. Ele fornece uma visualização central em todos os hosts ESXi.

Especificamente, você precisa dos seguintes produtos licenciados da VMware:

  • VMware ESXI 6.5, com uma edição de licença Enterprise Plus, instalado em um conjunto de hosts no seu data center.
  • VMware vCenter 6.5, com uma edição de licença Standard, instalado em um host no seu data center.

Para mais informações, consulte os seguintes recursos da VMware:

Balanceamento de carga

Para o balanceamento de carga da camada 4, é possível escolher entre dois modos de balanceamento de carga: integrado ou manual. O modo integrado é compatível com F5 BIG-IP (balanceador de carga integrado do GKE On-Prem). Com o modo manual, é possível escolher qualquer balanceador de carga que quiser. Atualmente, o GKE On-Prem oferece instruções documentadas para os balanceadores de carga a seguir:

Você configura um balanceador de carga no seu data center antes de instalar o GKE On-Prem. Durante a instalação, você escolhe se quer ativar o modo de balanceamento de carga integrado (F5 BIG-IP) ou manual (um balanceador de carga de sua escolha). O modo de balanceamento de carga manual exige que você aloque IPs estáticos para seus nós. Não é possível usar um servidor Dynamic Configuration Protocol (DHCP) com o modo de balanceamento de carga manual.

Autenticação

Se você tiver clientes que precisam se autenticar nos clusters e acessar suas cargas de trabalho em contêiner, use o OpenID Connect (OIDC) com um provedor de sua escolha ou com os serviços federados do Active Directory (ADFS, na sigla em inglês).

Como preparar seu projeto do Google Cloud

A preparação do projeto do Google Cloud inclui os itens a seguir:

  • Criar um projeto do Google Cloud e ativar as APIs necessárias
  • Vincular papéis de gerenciamento de identidade e acesso às contas de serviço.
  • Fazer o download das ferramentas necessárias da interface de linha de comando (CLI), incluindo a versão 11 do HashiCorp Terraform

Consulte os tópicos a seguir para mais informações:

Como criar a estação de trabalho de administrador

A criação da estação de trabalho do administrador inclui:

  • Fazer o download do arquivo OVA da estação de trabalho do administrador, que inclui um arquivo bundle (pacote) do GKE On-Prem.
  • Copiar um arquivo de configuração do Terraform (TF) e de variáveis do Terraform (TFVARS) e modificá-los para refletir a configuração do vCenter e do vSphere.
  • Como usar o Terraform para criar uma máquina virtual (VM) da estação de trabalho do administrador no vSphere.

Consulte os tópicos a seguir para mais informações:

Como funciona a instalação do GKE On-Prem

Aqui está um resumo de alto nível das etapas realizadas durante uma instalação (consulte também Visão geral da instalação):

  1. Conecte-se via SSH à sua estação de trabalho do administrador.
  2. Execute gkectl create-config para gerar um arquivo de configuração do GKE On-Prem. O arquivo de configuração declara uma especificação para instalar o GKE On-Prem.
  3. Você modifica o arquivo de configuração com valores apropriados para suas necessidades e seu ambiente, como as especificações dos clusters, a autenticação OIDC, o balanceamento de carga, a geração de registros do Stackdriver, o projeto do Google Cloud com o registro e muito mais.

  4. Execute gkectl check-config para validar que o arquivo de configuração modificado pode ser usado para uma instalação.

  5. Execute gkectl prepare para mover a imagem do SO do GKE On-Prem para o vSphere e marcá-la como um modelo para VMs. Se você configurar um registro particular do Docker, esse comando também enviará as imagens em contêiner do GKE On-Prem para o registro.

  6. Execute gkectl create cluster --config com o arquivo de configuração para criar os clusters do GKE On-Prem no seu data center.

No final de uma instalação bem-sucedida, você terá os seguintes itens no vSphere:

Arquitetura

Diagrama que descreve a arquitetura do GKE On-Prem quando um plano de controle do usuário é implantado
Figura: arquitetura do GKE On-Prem com um plano de controle do usuário. Clique para ampliar

No GKE On-Prem, há um cluster de administrador e, por padrão, três clusters de usuário. Há também duas VMs de complementos e uma VM de estação de trabalho de administrador. Todas essas VMs são executadas em um único cluster do vSphere.

Estação de trabalho do administrador

A estação de trabalho do administrador é a VM no vSphere a partir da qual os administradores de cluster instalam e interagem com o GKE On-Prem. É a primeira VM que você cria antes de criar qualquer outra coisa.

Se você for um administrador de cluster, use o Terraform para criar a estação de trabalho do administrador no vSphere. A estação de trabalho de administrador inclui:

Para criar a estação de trabalho do administrador, faça o download de três arquivos:

  • O arquivo Open Virtual Appliance (OVA) da estação de trabalho do administrador. Esta é uma imagem de VM com controle de versões da estação de trabalho do administrador. Você importa esse arquivo para o vSphere e o marca como um modelo de VM. Em seguida, o Terraform usa o modelo para implantar a estação de trabalho do administrador no cluster do vSphere.
  • Arquivo de configuração do Terraform (TF). Estas são as instruções que o Terraform usa para criar a estação de trabalho do administrador no cluster. Você copia esse arquivo para a estação de trabalho ou laptop local.
  • Arquivo de variáveis de configuração do Terraform (TFVARS). Você preenche as variáveis nesse arquivo com valores do seu ambiente. O arquivo de configuração do TF faz referência às variáveis do arquivo TFVARS. Você copia esse arquivo para a estação de trabalho ou laptop local.

Cluster de administrador

O cluster de administrador é a camada base do GKE On-Prem. Ele executa os seguintes componentes do GKE On-Prem:

  • Plano de controle do administrador: gerencia todas as chamadas de API Kubernetes e de gkectl feitas para o GKE On-Prem e também as chamadas feitas a partir dele. O plano de controle do administrador faz algumas chamadas para as APIs do vCenter e também faz algumas chamadas a partir dessas APIs.
  • Planos de controle do usuário: o plano de controle de um cluster de usuário. Direciona as solicitações de API para os nós do cluster. Cada cluster tem o próprio plano de controle que é executado no cluster de administrador. Os planos de controle do usuário também fazem algumas chamadas para as APIs do vCenter e também fazem algumas chamadas a partir dessas APIs.
  • VMs de complementos: VMs que executam os complementos do cluster de administrador, como os componentes Istio, Prometheus, Grafana e Stackdriver.

Observe que os planos de controle do usuário são gerenciados pelo cluster de administrador. Eles são executados em nós em clusters de administrador, não nos próprios clusters de usuário. Para gerenciar planos de controle de usuários, os clusters de administrador precisam:

  • gerenciar as máquinas que executam os planos de controle do cluster de usuário;
  • criar, atualizar e excluir os componentes do plano de controle;
  • expor o servidor da API Kubernetes ao cluster de usuário;
  • gerenciar certificados de cluster.

Cluster de usuário

Os clusters de usuário são onde você implanta e executa suas cargas de trabalho e serviços em contêiner.

VMs de complementos

O GKE On-Prem cria duas VMs para executar os complementos do cluster de administrador, como os componentes Istio, Grafana, Prometheus e Stackdriver.

Sobre o pacote

O pacote do GKE On-Prem é um arquivo TGZ com controle de versões que contém todos os componentes necessários para criar e fazer upgrade de clusters do GKE On-Prem.

Existem dois tipos de pacotes:

Pacote completo

O pacote completo, gke-onprem-vsphere-[VERSION]-full.tgz, está incluso na estação de trabalho do administrador. É possível encontrá-lo em /var/lib/gke/bundles. O pacote completo é usado para instalar o GKE On-Prem pela primeira vez. É um arquivo grande que inclui:

  • um arquivo TAR com imagens de contêiner de todos os componentes do cluster;
  • arquivos YAML desses componentes de cluster;
  • imagem do nó do GKE On-Prem.

Pacote de upgrade

O pacote de upgrade, gke-onprem-vsphere-[VERSION].tgz, é fornecido para fazer upgrade de clusters. Sempre que você fizer upgrade dos clusters, faça o download do pacote da versão em Downloads. O pacote de upgrade só tem arquivos de configuração YAML, usados para fazer upgrade dos componentes do cluster.

Ferramentas da CLI

Ao instalar o GKE On-Prem, você faz o download das seguintes ferramentas da CLI para a estação de trabalho ou laptop local:

  • govc
  • terraform
  • gkectl
  • kubectl (incluído na Google Cloud CLI)
  • gcloud (incluído na CLI gcloud)

govc

govc é a CLI do vSphere. Use govc ao criar a estação de trabalho do administrador e use-o para administrar seu cluster do vSphere.

terraform

terraform é a CLI do HashiCorp Terraform. Use terraform para criar e fazer upgrade da estação de trabalho do administrador.

gkectl

gkectl é a CLI do GKE On-Prem. Consulte o guia de referência correspondente.

Use gkectl para muitas tarefas de administração de cluster, incluindo:

  • criação e gerenciamento de clusters;
  • diagnóstico e solução de problemas;
  • captura e exportação de registros de cluster.

kubectl

kubectl é a CLI do Kubernetes. Use kubectl para interagir com o Kubernetes e respectivos clusters, e use-o também para tarefas como:

  • implantar, gerenciar e excluir cargas de trabalho em contêineres em execução em clusters;
  • gerenciar, editar e excluir recursos do Kubernetes.

gcloud

A Google Cloud CLI é a CLI do Google Cloud. Use a CLI gcloud para várias finalidades, incluindo:

  • autenticar no seu projeto do Google Cloud;
  • criar contas de serviço e respectivas chaves privadas;
  • vincular papéis de gerenciamento de identidade e acesso a contas.

Como registrar clusters com o Console do Google Cloud

Ao criar clusters de usuário do GKE On-Prem, é possível ativar o Connect para registrá-los automaticamente no Console do Google Cloud. Com o Connect, é possível visualizar e fazer login nos seus clusters do Kubernetes na nuvem e no local usando a mesma interface do usuário do Google Cloud.

Ativar o Connect cria um agente do Connect em cada cluster de usuário. O agente do Connect é uma implantação que estabelece uma conexão criptografada de longa duração com o Google Cloud a partir do cluster de usuário em que é executado.

A imagem do contêiner do agente do Connect é extraída de um repositório do Container Registry que fica em gcr.io. Se o cluster de usuário não tiver ou não puder ter conexão com gcr.io, você precisará usar um registro particular do Docker para conectá-lo ao Console do Google Cloud.

Controle de versão

Para saber tudo sobre como funciona o controle de versões, consulte Controle de versões.

Solução de problemas e diagnósticos

Consulte os seguintes tópicos para solução de problemas:

Valores de marcador na documentação do GKE On-Prem

Ao usar a documentação do GKE On-Prem, é possível alterar placeholder values nos blocos de código clicando neles. No bloco a seguir, clique em [YOUR_NAME] e observe que ele é editável:

Enter your name: [YOUR_NAME]

Isso pode ser útil se você quiser preencher valores de marcadores antes de copiar comandos e executá-los no seu ambiente.

A seguir

A seguir, leia os Requisitos do sistema para saber mais sobre como preparar seu ambiente no local.