Como se preparar para a instalação

Nesta página, você verá algumas etapas a serem seguidas antes de instalar o GKE On-Prem no seu ambiente.

Antes de começar

Confira os seguintes tópicos:

Limitações

Limitação Descrição
Limites máximo e mínimo para clusters e nós

Consulte Cotas e limites. O desempenho do ambiente pode afetar esses limites.

Exclusividade para nomes de cluster de usuário

Todos os clusters de usuário registrados no mesmo projeto do Google Cloud precisam ter nomes exclusivos.

Não é possível implantar em mais de um data center do vCenter e/ou do vSphere

Atualmente, é possível implantar apenas um cluster de administrador e um conjunto de clusters de usuário associados a somente um data center do vCenter e/ou do vSphere. Não é possível implantar os mesmos clusters de administrador e de usuário em mais de um data center do vCenter e/ou do vSphere.

Não é possível alterar as configurações do cluster de maneira declarativa após a criação Embora você consiga criar outros clusters e redimensionar clusters atuais, não é possível alterar um cluster atual por meio do arquivo de configuração.

Como criar um projeto do Google Cloud

Crie um projeto do Google Cloud, caso ainda não tenha um. Você precisa de um projeto para executar o GKE On-Prem.

Como instalar as ferramentas de interface de linha de comando necessárias

  • Instale a Google Cloud CLI, que inclui o gcloud, a interface de linha de comando (CLI) do Google Cloud.

  • Instale o govc, a CLI do VMware vSphere.

  • Instale o Terraform 0.11, que inclui a CLI terraform. Siga as instruções de instalação do Terraform para verificar a instalação e configurar a variável PATH.

Como configurar a Google Cloud CLI para usar seu proxy/firewall no laptop/na estação de trabalho

Se você estiver usando um proxy para se conectar à Internet no seu laptop ou estação de trabalho, talvez seja necessário configurar a Google Cloud CLI para o proxy, o que possibilita executar os comandos gcloud e gsutil. Para mais instruções, consulte Como configurar a CLI gcloud para que seja usada com um proxy/firewall.

Como autorizar o gcloud a acessar o Google Cloud

Depois de instalar a CLI gcloud, faça login no Google Cloud usando as credenciais da sua conta:

gcloud auth login

Como definir um projeto padrão do Google Cloud

Definir um Google Cloud padrão faz com que todos os comandos do CLI gcloud sejam executados no projeto, de modo que você não precise especificar o projeto para cada comando. Para definir um projeto padrão, execute o comando a seguir:

gcloud config set project [PROJECT_ID]

Substitua [PROJECT_ID] pelo ID do projeto. É possível encontrar o ID do projeto no Console do Google Cloud ou ao executar gcloud config get-value project.

Como criar contas de serviço do Google Cloud

Antes de instalar o GKE On-Prem pela primeira vez, use gcloud para criar quatro contas de serviço do Google Cloud. O GKE On-Prem usa essas contas de serviço para concluir tarefas em seu nome. As seções a seguir descrevem a finalidade de cada conta.

Acessar conta de serviço

Use essa conta de serviço para fazer o download dos binários do GKE On-Prem no Cloud Storage. É a única conta de serviço que o Google inclui na lista de permissões.

Execute o seguinte comando para criar access-service-account:

gcloud iam service-accounts create access-service-account

Registrar conta de serviço

O Connect usa essa conta de serviço para registrar os clusters do GKE On-Prem no console do Google Cloud.

Execute o seguinte comando para criar register-service-account:

gcloud iam service-accounts create register-service-account

Conectar conta de serviço

O Connect usa essa conta de serviço para manter uma conexão entre os clusters do GKE On-Prem e o Google Cloud.

Execute o seguinte comando para criar connect-service-account:

gcloud iam service-accounts create connect-service-account

Conta de serviço do pacote de operações do Google Cloud

Essa conta de serviço permite que o GKE On-Prem grave dados de geração de registros e monitoramento no pacote de operações do Google Cloud:

Execute o seguinte comando para criar stackdriver-service-account:

gcloud iam service-accounts create stackdriver-service-account

Como colocar projeto e contas na lista de permissões

Depois que você compra o Anthos, o Google inclui os seguintes itens na lista de permissões para conceder acesso ao GKE On-Prem e ao Connect:

  • Seu projeto do Google Cloud.
  • Sua Conta do Google e as Contas do Google individuais de membros da equipe
  • Sua conta de serviço de acesso

Se você quiser usar um projeto ou uma conta de serviço diferente ou se quiser habilitar mais usuários, o suporte do Google Cloud ou o gerente técnico de contas poderá ajudar. Abra um histórico de consultas por meio do Console do Google Cloud ou da Central de suporte do Google Cloud.

Como ativar as APIs necessárias no projeto

É preciso ativar as seguintes APIs no projeto do Google Cloud:

  • cloudresourcemanager.googleapis.com
  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com
  • monitoring.googleapis.com
  • logging.googleapis.com

Para ativar essas APIs, execute o seguinte comando:

gcloud services enable \
cloudresourcemanager.googleapis.com \
container.googleapis.com \
gkeconnect.googleapis.com \
gkehub.googleapis.com \
serviceusage.googleapis.com \
stackdriver.googleapis.com \
monitoring.googleapis.com \
logging.googleapis.com

Como atribuir papéis de gerenciamento de identidade e acesso às contas de serviço

O IAM concede permissões a contas para chamar as APIs do Google Cloud. Atribua papéis dedicados do IAM a essas contas de serviço para isolamento de privilégios.

Listar endereços de e-mail de contas de serviço

Primeiro, liste as contas de serviço no projeto do Google Cloud:

gcloud iam service-accounts list

Para um projeto do Google Cloud denominado my-gcp-project, a saída deste comando terá esta aparência:

gcloud iam service-accounts list
NAME                                    EMAIL
                                        access-service-account@my-gcp-project.iam.gserviceaccount.com
                                        register-service-account@my-gcp-project.iam.gserviceaccount.com
                                        connect-service-account@my-gcp-project.iam.gserviceaccount.com
                                        stackdriver-service-account@my-gcp-project.iam.gserviceaccount.com

Anote o endereço de e-mail de cada conta. Para cada uma das seções a seguir, forneça a conta de e-mail da conta relevante.

Registrar conta de serviço

Conceda os papéis gkehub.admin e serviceuseage.serviceUsageViewer à sua conta de serviço de registro:

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[REGISTER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/gkehub.admin"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[REGISTER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/serviceusage.serviceUsageViewer"

Conectar conta de serviço

Conceda o papel gkehub.connect à sua conta de serviço do Connect:

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[CONNECT_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/gkehub.connect"

Conta de serviço do pacote de operações do Google Cloud

Conceda os papéis stackdriver.resourceMetadata.writer, logging.logWriter e monitoring.metricWriter à conta de serviço do pacote de operações do Google Cloud:

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[STACKDRIVER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/stackdriver.resourceMetadata.writer"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[STACKDRIVER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/logging.logWriter"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[STACKDRIVER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/monitoring.metricWriter"

Como configurar o Logging e o Monitoring

O Stackdriver Logging e o Stackdriver Monitoring são ativados por padrão para o GKE On-Prem.

Como incluir endereços do proxy na lista de permissões

Se sua organização requer que o acesso à Internet passe por um proxy HTTP, você precisa incluir os seguintes endereços na lista de permissões para seu proxy.

As seções a seguir explicam os endereços em detalhes.

Endereços do Google

O GKE On-Prem usa várias APIs do Google para criar e gerenciar clusters. Coloque na lista de permissões os seguintes endereços do Google no proxy:

Endereço Finalidade
accounts.google.com Permite o acesso a Contas do Google para acessar seu projeto do Google Cloud.
cloudresourcemanager.googleapis.com Cria, lê e atualiza metadados para contêineres de recursos do Google Cloud.
console.cloud.google.com Permite acesso ao console do Google Cloud.
container.googleapis.com Permite acesso à API Google Kubernetes Engine.
gcr.io Permite o acesso a repositórios do Container Registry, incluindo o repositório do GKE On-Prem.
gkeconnect.googleapis.com Permite acesso ao Connect para estabelecer uma conexão criptografada de longa duração com o Google Cloud.
gkehub.googleapis.com Permite acesso ao console do Google Cloud para o registro do cluster com seu projeto do Google Cloud.
logging.googleapis.com Permite o acesso à API do Cloud Logging para recursos de geração de registros de métricas de cluster.
monitoring.googleapis.com Permite acesso à API do Cloud Monitoring para recursos de monitoramento de cluster.
oauth2.googleapis.com Permite acesso à API OAuth2 do Google para autenticação.
serviceusage.googleapis.com
storage.googleapis.com Permite acesso a intervalos do Cloud Storage.
googleapis.com Permite acesso a endpoints específicos do produto do Google Cloud.

Endereços da HashiCorp

Use o HashiCorp Terraform versão 0.11 para criar uma VM da estação de trabalho de administrador no vSphere. Para executar o Terraform em um ambiente com proxy ou firewall, inclua os seguintes endereços do HashiCorp na lista de permissões:

Endereço Finalidade
checkpoint-api.hashicorp.com Permite o acesso à versão da HashiCorp e a informações de alerta para vários produtos de código aberto e reservados.
releases.hashicorp.com Permite o acesso aos binários da HashiCorp.

VMware, balanceador de carga e outros endereços

Por fim, inclua os seguintes endereços na lista de permissões para seu proxy. Esses endereços podem variar:

Endereço Finalidade
Endereço IP do servidor vCenter Permite o tráfego da Internet para o servidor vCenter.
Todos os endereços IP dos hosts do ESXi Permite o tráfego da Internet para os hosts do ESXi que executam clusters do GKE On-Prem.
Outros endereços IP que você pretende configurar no balanceador de carga Permite o tráfego da Internet para outros endereços IP, como clientes e cargas de trabalho.

Como reservar intervalos de pods e serviços

Para o cluster de administrador e para cada cluster de usuário que você pretende criar, é preciso reservar dois blocos CIDR IPv4 distintos: um para IPs de pods e um para IPs de serviços.

Os tamanhos desses intervalos dependem de quantos pods e serviços você pretende criar. Por exemplo, se você pretende criar menos de 256 serviços em um cluster, poderá reservar um intervalo de serviço /24, como 10.96.233.0/24. Se você pretende criar menos de 4.096 pods no cluster, poderá reservar um intervalo de pod /20, como 172.16.0.0/20.

Para um determinado cluster, os intervalos de serviços e pods não podem se sobrepor. Além disso, os intervalos de serviços e pods não podem se sobrepor a endereços IP usados para nós em nenhum cluster.

Como preparar seu balanceador de carga

Os clusters do GKE On-Prem podem ser executados com um dos dois modos de balanceamento de carga: "Integrado" e "Manual". No modo integrado, os clusters do GKE On-Prem são executados com o balanceador de carga F5 BIG-IP. Com o modo Manual, você configura manualmente um balanceador de carga diferente.

Como preparar partições F5 BIG-IP

Se você optar por usar o modo integrado, precisará criar uma partição F5 BIG-IP para executar o balanceamento de carga em cada cluster do GKE On-Prem que você pretende criar.

Inicialmente, você precisa criar pelo menos duas partições: uma para o cluster de administrador e outra para um cluster de usuário. É preciso criar uma partição antes de criar o cluster correspondente.

Não use as partições de cluster para mais nada. Cada um dos clusters precisa ter uma partição exclusiva.

Para saber como criar partições, leia Como criar uma partição administrativa na documentação F5 BIG-IP.

Como usar o modo de balanceamento de carga manual

O modo de balanceamento de carga manual requer mais configuração do que o modo integrado. Para detalhes, consulte Como ativar o balanceamento de carga manual.