Nesta página, explicamos como criar uma estação de trabalho de administrador que usa o protocolo de configuração de host dinâmico (DHCP, na sigla em inglês) para receber o endereço IP.
Se você quiser criar uma estação de trabalho de administrador com um endereço IP estático, consulte Como criar uma estação de trabalho de administrador.
Visão geral
A estação de trabalho do administrador é uma VM do vSphere que contém todas as ferramentas necessárias para criar e gerenciar clusters do GKE On-Prem. Para criar a estação de trabalho de administrador, execute as seguintes etapas descritas neste tópico:
- Faça o download do arquivo Open Virtual Appliance (OVA) da estação de trabalho de administrador, que é uma imagem compactada da VM da estação de trabalho de administrador.
- Use
govc
, a interface de linha de comando para o vSphere, para importar o OVA para o vSphere como um modelo de VM. - Copie e preencha arquivos de configuração do HashiCorp Terraform (em inglês).
- Use o Terraform versão 0.11 para criar a VM da estação de trabalho de administrador.
Como criar uma chave para sua conta de serviço permitida
Se você ainda não tiver um arquivo de chave JSON para sua conta de serviço permitida, crie um agora:
gcloud auth login
-
gcloud iam service-accounts keys create whitelisted-key.json \ --iam-account [ALLOWLISTED_SERVICE_ACCOUNT_EMAIL]
[ALLOWLISTED_SERVICE_ACCOUNT_EMAIL] é o endereço de e-mail da sua conta de serviço permitida.
Como fazer o download do OVA da estação de trabalho de administrador
O OVA da estação de trabalho de administrador inclui todos os componentes do cluster, as ferramentas de linha de comando e outras entidades necessárias para instalar e gerenciar clusters do GKE On-Prem.
Ative sua conta de serviço permitida:
gcloud auth activate-service-account --key-file [KEY_ALLOWLISTED_ACCOUNT]
[KEY_ALLOWLISTED_ACCOUNT] é o caminho do arquivo de chave JSON para sua conta de serviço permitida.
Faça o download da versão mais recente do OVA da estação de trabalho de administrador e do arquivo de assinatura:
gsutil cp gs://gke-on-prem-release/admin-appliance/1.3.2-gke.1/gke-on-prem-admin-appliance-vsphere-1.3.2-gke.1.{ova,ova.1.sig} ./
Como verificar o OVA usando openssl
Verifique o arquivo OVA que baixado na chave pública usando
openssl
:
openssl dgst -verify - -signature gke-on-prem-admin-appliance-vsphere-1.3.2-gke.1.ova.1.sig gke-on-prem-admin-appliance-vsphere-1.3.2-gke.1.ova <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
A saída esperada desse comando é Verified OK
.
Como usar o govc
a fim de importar o OVA para o vSphere e marcá-lo como um modelo de VM
Nas seções a seguir, faça as seguintes ações:
- Crie algumas variáveis que declaram elementos do servidor vCenter e do ambiente do vSphere.
- Importe o OVA da estação de trabalho de administrador para o vSphere e marque-o como um modelo de VM.
Como criar variáveis para govc
Antes de importar o OVA da estação de trabalho de administrador para o vSphere, é preciso fornecer ao govc
algumas variáveis que declaram elementos do seu servidor vCenter e do ambiente do vSphere:
export GOVC_URL=https://[VCENTER_SERVER_ADDRESS]/sdk export GOVC_USERNAME=[VCENTER_SERVER_USERNAME] export GOVC_PASSWORD=[VCENTER_SERVER_PASSWORD] export GOVC_DATASTORE=[VSPHERE_DATASTORE] export GOVC_DATACENTER=[VSPHERE_DATACENTER] export GOVC_INSECURE=true
Use o pool de recursos padrão do vSphere ou crie seu próprio pool de recursos:
# If you want to use a resource pool you've configured yourself, export this variable: export GOVC_RESOURCE_POOL=[VSPHERE_CLUSTER]/Resources/[VSPHERE_RESOURCE_POOL]
# If you want to use vSphere's default resource pool, export this variable instead: export GOVC_RESOURCE_POOL=[VSPHERE_CLUSTER]/Resources
em que:
- [VCENTER_SERVER_ADDRESS] é o endereço IP ou nome do host do servidor vCenter.
- [VCENTER_SERVER_USERNAME] é o nome de usuário de uma conta que tem o papel de Administrador ou privilégios equivalentes no servidor vCenter.
- [VCENTER_SERVER_PASSWORD] é a senha da conta do servidor vCenter.
- [VSPHERE_DATASTORE] é o nome do armazenamento de dados que você configurou no ambiente do vSphere.
- [VSPHERE_DATACENTER] é o nome do data center configurado no ambiente do vSphere.
- [VSPHERE_CLUSTER] é o nome do cluster que você configurou no ambiente do vSphere. Para usar um pool de recursos não padrão,
- [VSPHERE_RESOURCE_POOL] é o nome do pool de recursos que você configurou para o ambiente do vSphere.
Como criar variáveis para o proxy
Se você estiver usando um proxy, exporte variáveis para o endereço HTTP e HTTPS, em que [PROXY_ADDRESS] é o endereço IP ou o nome do host do proxy:
export HTTP_PROXY=http://[PROXY_ADDRESS] export HTTPS_PROXY=https://[PROXY_ADDRESS]
Como importar o OVA para o vSphere: chave padrão
Se você estiver usando uma chave padrão do vSphere, importe o OVA para o vSphere usando este comando:
govc import.ova -options - gke-on-prem-admin-appliance-vsphere-1.3.2-gke.1.ova <<EOF { "DiskProvisioning": "thin", "MarkAsTemplate": true } EOF
Como importar o OVA para o vSphere: chave distribuída
Se você estiver usando uma chave distribuída do vSphere, importe o OVA para o vSphere usando este comando, em que [YOUR_DISTRIBUTED_PORT_GROUP_NAME] é o nome do grupo de portas distribuído:
govc import.ova -options - gke-on-prem-admin-appliance-vsphere-1.3.2-gke.1.ova <<EOF { "DiskProvisioning": "thin", "MarkAsTemplate": true, "NetworkMapping": [ { "Name": "VM Network", "Network": "[YOUR_DISTRIBUTED_PORT_GROUP_NAME]" } ] } EOF
Como copiar os arquivos de configuração do Terraform
Crie um diretório para seus arquivos do Terraform:
mkdir [TERRAFORM_DIR]
em que [TERRAFORM_DIR] é o caminho de um diretório em que você quer manter os arquivos do Terraform.
Copie os seguintes arquivos TF e TFVARS e salve-os em
[TERRAFORM_DIR]/terraform.tf
e [TERRAFORM_DIR]/terraform.tfvars
,
respectivamente.
O arquivo TF é a configuração do HCL do Terraform que executa a criação da VM.
Como criar uma chave SSH
Crie uma chave SSH para usar o SSH na estação de trabalho de administrador no
seu laptop ou estação de trabalho local. Em sistemas operacionais baseados em Linux, é possível usar
ssh-keygen
:
ssh-keygen -t rsa -f ~/.ssh/vsphere_workstation -N ""
Como modificar o arquivo TFVARS
Abra terraform.tfvars
em um editor de texto e forneça valores para as variáveis
a seguir. É possível encontrar muitos desses valores fazendo login no
cliente do vCenter:
vcenter_user
Forneça uma conta de usuário do servidor vCenter como uma string. A conta de usuário precisa ter o papel de Administrador ou privilégios equivalentes. Consulte os requisitos do vSphere.
Por exemplo:
vcenter_user = "administrator@vsphere.local"
vcenter_password
Forneça a senha da conta de usuário do servidor vCenter como uma string. Por exemplo:
vcenter_password = "#STyZ2T#Ko2o"
vcenter_server
Forneça o endereço do servidor vCenter (IP ou nome do host) como uma string. Por exemplo:
vcenter_server = "198.51.100.2"
ssh_public_key_path
Forneça o caminho para sua chave pública SSH. Você criou isso em uma etapa anterior:
ssh_public_key_path = "~/.ssh/vsphere_workstation.pub"
vm_name
Forneça um nome de sua escolha para a estação de trabalho de administrador. Por exemplo:
vm_name = "my-admin-workstation"
datastore
Forneça o nome do armazenamento de dados do vSphere como uma string. Por exemplo:
datastore = "MY-DATASTORE"
datacenter
Forneça o nome do seu data center do vSphere como uma string. Por exemplo:
datacenter = "MY-DATACENTER"
cluster
Forneça o nome do cluster do vSphere como uma string. Por exemplo.
cluster = "MY-CLUSTER"
resource_pool
Se estiver usando um pool de recursos não padrão, forneça o nome do pool de recursos do vSphere como uma string. Por exemplo:
resource_pool = "MY-POOL"
Se você estiver usando o pool de recursos padrão, forneça o seguinte valor:
resource_pool = "[MY_CLUSTER]/Resources"
em que [MY_CLUSTER] é o nome do cluster do vSphere.
Consulte Como especificar o pool de recursos raiz para um host autônomo.
network
Forneça a rede do vSphere em que você quer criar a estação de trabalho de administrador, como uma string. Por exemplo:
network = "MY-VM-NETWORK"
vm_template
Forneça o nome do modelo da VM como uma string. Você criou o OVA importado e o
marcou como um modelo em uma etapa anterior. Observe que o nome do
modelo não tem a extensão .ova
.
vm_template = "gke-on-prem-admin-appliance-vsphere-1.3.2-gke.1"
Como criar a estação de trabalho de administrador
Agora você está pronto para criar a VM da estação de trabalho de administrador. Use a versão 0.11 do Terraform para as etapas desta seção.
Acesse o diretório que contém os arquivos de configuração do Terraform (TF e TFVARS):
Inicialize o Terraform no diretório e aplique a configuração. Isso pode levar alguns minutos:
terraform init && terraform apply -auto-approve -input=false
Conecte-se à sua estação de trabalho de administrador
Acesse o diretório que contém os arquivos de configuração do Terraform.
Recupere o endereço IP da estação de trabalho de administrador:
terraform output ip_address
Anote o endereço IP da estação de trabalho de administrador.
Conecte-se por SSH à estação de trabalho de administrador usando sua chave SSH e o endereço IP:
ssh -i ~/.ssh/vsphere_workstation ubuntu@[ADMIN_WORKSTATION_IP_ADDRESS]
Como verificar se a estação de trabalho de administrador está configurada corretamente
Confirme se gkectl
e docker
estão instalados na estação de trabalho de administrador:
gkectl version docker version
Como configurar o servidor NTP na estação de trabalho de administrador
Por padrão, a estação de trabalho de administrador usa o ntp.ubuntu.com como servidor NTP (Network Time Protocol). Se sua organização usa um servidor de tempo diferente, configure a estação de trabalho de administrador para usar o mesmo servidor NTP que o restante da organização.
Digite os seguintes comandos para configurar o servidor NTP na estação de trabalho de administrador:
sudo mkdir -p /etc/systemd/timesyncd.conf.d/ sudo bash -c "cat >> /etc/systemd/timesyncd.conf.d/cloud-init.conf" << EOF [Time] NTP=[NTP_SERVER] EOF sudo systemctl restart systemd-timesyncd timedatectl status
em que [NTP_SERVER] é o nome do host ou o endereço IP do seu servidor NTP.
Para verificar se o servidor NTP está funcionando, digite o seguinte comando:
timedatectl
O resultado é semelhante a este:
Local time: Tue 2019-12-17 00:21:50 UTC Universal time: Tue 2019-12-17 00:21:50 UTC RTC time: Tue 2019-12-17 00:21:50 Time zone: Etc/UTC (UTC, +0000) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no
Solução de problemas
AccessDeniedException
durante o download do OVA
- Sintomas
A tentativa de fazer o download do OVA e da assinatura da estação de trabalho de administrador retorna o seguinte erro:
AccessDeniedException: 403 whitelisted-service-account@project.iam.gserviceaccount.com does not have storage.objects.list access to gke-on-prem-release
- Causas possíveis
Sua conta de serviço permitida não está ativada.
- Resolução
Verifique se você ativou sua conta de serviço permitida. Se o problema persistir, entre em contato com o Google para receber ajuda.
openssl
não pode validar o OVA da estação de trabalho de administrador
- Sintomas
Executar
openssl dgst
no arquivo OVA da estação de trabalho de administrador não retornaVerified OK
- Causas possíveis
Há um problema no arquivo OVA que impede a validação bem-sucedida.
- Resolução
Tente fazer o download e implantar o OVA da estação de trabalho de administrador novamente, conforme descrito em Fazer o download do OVA da estação de trabalho de administrador . Se o problema persistir, entre em contato com o Google para receber ajuda.
Para mais informações, consulte Solução de problemas.