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 dos clusters do Kubernetes no ambiente no local e conectá-los ao Console do Google Cloud.

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 máquinas (também chamadas de "nós") que executam aplicativos em contêineres.

Como acessar o GKE On-Prem

O GKE On-Prem está incluído como um componente principal do Anthos.

Como se preparar para o GKE On-Prem

Você instala o GKE On-Prem em um cluster do VMware vSphere 6.5 em execução no hardware no ambiente local. Para o balanceamento de carga da camada 4, use o F5 BIG-IP (balanceador de carga integrado do GKE On-Prem) ou configure outro balanceador de carga L4 (link em inglês).

A preparação inclui a configuração do projeto do Google Cloud e o download das ferramentas de interface de linha de comando (CLI) necessárias, incluindo a versão 11 do Terraform. Ela também inclui o uso do Terraform para criar uma máquina virtual (VM) na estação de trabalho de administrador no vSphere.

Sobre a estação de trabalho de administrador

A estação de trabalho de administrador é a VM do vSphere em que os administradores de cluster instalam e interagem com o GKE On-Prem.

Se você for um administrador de cluster, use o Terraform para criar a estação de trabalho do administrador no vSphere. Para criar a estação de trabalho do administrador, faça o download de três arquivos:

  • Arquivo do Open Virtual Appliance (OVA). Trata-se de uma imagem de VM com controle de versão que fornece um "modelo de VM" para o Terraform.
  • Arquivo de configuração do Terraform (TF).
  • Arquivo de variáveis de configuração do Terraform (TFVARS).

A estação de trabalho de administrador inclui:

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 implantados nos clusters;
  • 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. Também é possível encontrá-lo em Downloads. Ele tem apenas arquivos YAML dos componentes do cluster criados durante a instalação.

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

Veja um resumo detalhado das etapas realizadas durante uma 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. Modifique-o para atender às suas necessidades.
  3. Execute gkectl check-config para validar que o arquivo de configuração modificado pode ser usado para uma instalação.
  4. 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.
  5. Execute gkectl create clusters --config, transmitindo o arquivo de configuração, para instalar o GKE On-Prem de maneira declarativa.

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 Figura: arquitetura do GKE On-Prem com um plano de controle do usuário.

No GKE On-Prem, há clusters de administrador e clusters de usuário.

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: o plano de controle do administrador lida com todas as chamadas de API Kubernetes e gkectl de e para o GKE On-Prem, e todas as chamadas para as APIs do vSphere.
  • 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 criado tem seu próprio plano de controle que é executado no cluster de administrador.
  • 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.

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 de administrador.

terraform

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

gkectl

gkectl é a CLI principal do GKE On-Prem. 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 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 dele em cada cluster de usuário. O agente do Connect é uma implantação que estabelece uma conexão criptografada de longa duração de clusters locais com o Google Cloud.

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 Versões.