Como criar uma estação de trabalho de administrador

Nesta página, explicamos como criar a versão mais recente da máquina virtual (VM) da estação de trabalho do administrador.

Para fazer upgrade de uma estação de trabalho de administrador atual, consulte Como fazer upgrade do GKE On-Prem.

Visão geral

A estação de trabalho de 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.
  • Use o Terraform para criar a VM.

Antes de começar

  1. Leia a visão geral da estação de trabalho de administrador.
  2. Conclua as etapas em Como se preparar para a instalação.
  3. Verifique se você instalou govc.
  4. Verifique se você instalou o Terraform versão 0.11.

Fazer o download do OVA da estação de trabalho de administrador

Faça o download da versão mais recente do OVA da estação de trabalho de administrador no tópico "Downloads". O arquivo OVA mais recente é:

gke-on-prem-admin-appliance-vsphere-1.1.2-gke.0.ova

1.1.2-gke.0 é a versão mais recente do GKE On-Prem. O OVA inclui todos os componentes do cluster, ferramentas de linha de comando e outras entidades necessárias para instalar e gerenciar clusters do GKE On-Prem. O OVA mais recente inclui a versão mais recente dessas entidades.

Salve esse arquivo em algum lugar no computador que você está usando para criar a estação de trabalho do administrador.

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:

  1. Crie algumas variáveis que declaram elementos do servidor vCenter e do ambiente do vSphere.
  2. 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 seu ambiente vSphere.

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.1.2-gke.0.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.1.2-gke.0.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

  1. Crie um diretório para seus arquivos do Terraform:

    mkdir "[TERRAFORM_DIR]"
    

    [TERRAFORM_DIR] é o caminho de um diretório em que você quer manter os arquivos do Terraform.

  2. Copie uma das seguintes configurações do Terraform, se você quiser especificar um endereço IP estático para a estação de trabalho de administrador ou usar um servidor DHCP para receber um endereço IP.

    Copie os arquivos TF e TFVARS. O arquivo TF é a configuração do HCL (em inglês) do Terraform que executa a criação da VM.

  3. Salve as configurações em [TERRAFORM_DIR]/terraform.tf e [TERRAFORM_DIR]/terraform.tfvars, respectivamente.

DHCP

IP estático

Como criar uma chave pública SSH

Crie uma chave pública SSH para que você possa 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 Requisitos do sistema. 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.0"

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.

vm_name = "admin-workstation"

datastore

Forneça o nome do armazenamento de dados do vSphere como uma string.

datastore = "MY-DATASTORE"

datacenter

Forneça o nome do seu data center do vSphere como uma string.

datacenter = "MY-DATACENTER"

cluster

Forneça o nome do cluster do vSphere como uma string.

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.

resource_pool = "MY-POOL"

Se você estiver usando o pool de recursos padrão, forneça o seguinte valor:

resource_pool = "MY-CLUSTER/Resources"

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 = "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.

vm_template = "gke-on-prem-admin-appliance-vsphere-[VERSION]"

Como usar um endereço IP estático para a estação de trabalho do administrador

Se você quiser usar um IP estático para a estação de trabalho do administrador, copie o arquivo IP estático TF e TFVARS. No arquivo TFVARs, insira valores para as seguintes variáveis:

ipv4_address

Forneça um endereço IP estático IPv4 para a estação de trabalho de administrador. Por exemplo:

ipv4_address = "203.0.113.0"

ipv4_netmask_prefix_length

Forneça o número de bits na máscara de sub-rede da rede em que você quer criar a estação de trabalho de administrador. Exemplo:

ipv4_netmask_prefix_length = "22"

ipv4_gateway

Forneça o gateway da sub-rede em que a estação de trabalho do administrador será criada. Consulte a documentação do vphere_virtual_machine (em inglês) da VMware.

Por exemplo:

ipv4_gateway = "198.51.100.0

dns_nameservers

Forneça servidores de nomes DNS a serem usados pela estação de trabalho de administrador, separados por vírgulas. Por exemplo:

dns_nameservers = "8.8.8.8,8.8.4.4"

Como criar a estação de trabalho de administrador

Depois de concluir as etapas anteriores, você estará pronto para criar a VM da estação de trabalho do administrador:

  1. Altere para o diretório que contém seus arquivos de configuração do Terraform (TF e TFVARS):

    cd [TERRAFORM_DIR]
    
  2. Inicialize o Terraform no diretório e aplique a configuração. Isso pode levar alguns minutos:

    terraform init && terraform apply -auto-approve -input=false

Conectar-se à sua estação de trabalho de administrador

  1. Altere para o diretório que contém os arquivos de configuração do Terraform.

  2. 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 do administrador ou exporte-o como uma variável no shell.

  3. Execute o SSH para a estação de trabalho de administrador usando a chave gerada e o endereço IP:

    ssh -i ~/.ssh/vsphere_workstation ubuntu@$(terraform output ip_address)

    ou, se quiser apenas usar o endereço:

    ssh -i ~/.ssh/vsphere_workstation ubuntu@[IP_ADDRESS]
    

Como verificar se a estação de trabalho de administrador está configurada corretamente

Verifique se gkectl e docker estão instalados:

gkectl version
docker version

Como configurar o proxy para a estação de trabalho de administrador

Se o ambiente estiver protegido por um proxy, siga as seções abaixo para configurar a Google Cloud CLI e o Docker para usar o proxy.

Como configurar a Google Cloud CLI para usar seu proxy

Conclua as etapas a seguir na VM da estação de trabalho de administrador.

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

Como configurar um registro do Docker para extrair o proxy

Conclua as etapas a seguir na VM da estação de trabalho de administrador.

Caso queira usar um registro do Docker e sua rede for executada atrás de um proxy, será necessário configurar o daemon do Docker em execução na estação de trabalho do administrador para extrair imagens usando o proxy:

  1. Reúna os endereços dos seus proxies HTTP e HTTPS.

  2. Reúna os endereços IP e os nomes de host de cada host com os quais você precisa entrar em contato sem usar proxy, incluindo estes endereços:

    • O endereço IP do servidor vCenter
    • Os endereços IP de todos os hosts ESXi
    • Outros endereços IP que você pretende configurar no balanceador de carga
    • O intervalo 192.168.0.0/16

    Na estação de trabalho de administrador, adicione esses endereços à variável no_proxy:

    printf -v no_proxy '%s,' [ADDRESSES];
    

    É possível exportar o intervalo para uma variável de ambiente para referência futura. Lembre-se de que seus aplicativos e processos podem usar essa variável:

    export no_proxy="${no_proxy%,}";
  3. Abra o arquivo de configuração (em inglês) do Docker, armazenado em /root/.docker/config.json, /home/[USER]/.docker/config.json ou em outro lugar, dependendo da configuração.

  4. Em config.json, adicione as seguintes linhas:

    "proxies": {
    
    "default": {
           "httpProxy": "[HTTP_PROXY]",
           "httpsProxy": "[HTTPS_PROXY]",
           "noProxy": "[ADDRESSES]"
               }
    }

    em que:

    • [HTTP_PROXY] é o proxy HTTP, se você tiver um;
    • [HTTPS_PROXY] é o proxy HTTPS, se você tiver um;
    • [ADDRESSES] é uma lista delimitada por vírgulas de endereços e nomes de host com que você precisa entrar em contato sem usar proxy.
  5. Reinicie o Docker para que as alterações entrem em vigor:

    sudo systemctl restart docker

Solução de problemas

Para mais informações, consulte Solução de problemas.

Limite de sessão no provedor do vSphere do Terraform

O GKE On-Prem usa o provedor do vSphere do Terraform para abrir VMs no ambiente vSphere. O limite de sessões no provedor é de 1.000 sessões. A implementação atual não fecha as sessões ativas após o uso. Podem ocorrer erros 503 se você tiver muitas sessões em execução.

As sessões são fechadas automaticamente após 300 segundos.

Sintomas

Se você tiver muitas sessões em execução, talvez você encontre o seguinte erro:

Error connecting to CIS REST endpoint: Login failed: body:
  {"type":"com.vmware.vapi.std.errors.service_unavailable","value":
  {"messages":[{"args":["1000","1000"],"default_message":"Sessions count is
  limited to 1000. Existing sessions are 1000.",
  "id":"com.vmware.vapi.endpoint.failedToLoginMaxSessionCountReached"}]}},
  status: 503 Service Unavailable
Causas possíveis

Há muitas sessões de provedor do Terraform em execução no seu ambiente.

Resolução

No momento, isso está funcionando conforme o esperado. As sessões são fechadas automaticamente após 300 segundos. Para mais informações, consulte o problema nº 618 no GitHub.

Como usar um proxy para o Docker: oauth2: cannot fetch token

Sintomas

Ao usar um proxy, você encontra o seguinte erro:

oauth2: cannot fetch token: Post https://oauth2.googleapis.com/token: proxyconnect tcp: tls: oversized record received with length 20527
Causas possíveis

É possível que você tenha fornecido um proxy HTTPS em vez de HTTP.

Resolução

Na configuração do Docker, altere o endereço do proxy para http:// em vez de https://.

Como verificar se as licenças são válidas

Lembre-se de verificar se as licenças são válidas, especialmente se você estiver usando licenças de teste. Pode haver falhas inesperadas se as licenças F5, host ESXi ou vCenter tiverem expirado.

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 retorna Verified 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.

A seguir