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ávelPATH
.
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.