Este documento mostra como criar uma estação de trabalho de administrador, para clusters do Anthos no VMware (GKE On-Prem), que podem ser usados para criar clusters.
Nas etapas deste documento, usamos a ferramenta de linha de comando gkeadm
,
disponível para Linux de 64 bits, Windows 10, Windows Server 2019 e macOS 10.15
e superior.
As instruções aqui são completas. Para uma introdução mais rápida à criação de uma estação de trabalho de administrador, consulte Criar uma estação de trabalho de administrador (guia de início rápido).
Antes de começar
Saber o endereço do servidor vCenter.
Conheça seu programa de certificação da CA.
Crie um ou mais projetos do Cloud, conforme descrito em Como usar vários projetos do Google Cloud.
Como planejar suas contas de serviço
Ao usar gkeadm
para criar uma estação de trabalho de administrador, é possível
deixar que gkeadm
crie algumas das suas contas de serviço e chaves para você. Nesse caso,
gkeadm
também concede os papéis apropriados do gerenciamento de identidade e acesso às contas de
serviço.
Como alternativa, crie as contas de serviço e as chaves manualmente. Nesse caso, você precisa conceder manualmente os papéis do IAM às suas contas de serviço.
Criar contas de serviço manualmente oferece mais flexibilidade do que
gkeadm
para criá-las:
Todas as contas de serviço criadas automaticamente têm o mesmo projeto pai do Google Cloud que a conta de serviço de acesso a componentes. Ao criar uma conta de serviço manualmente, escolha o projeto pai do Google Cloud.
Todas as contas de serviço criadas automaticamente recebem os papéis do IAM no projeto pai do Google Cloud referente à conta de serviço de acesso a componentes. Isso não é um problema se for o único projeto do Google Cloud associado aos clusters. Mas, se você quiser associar seus clusters a vários projetos do Google Cloud, você precisará de flexibilidade para conceder papéis a uma conta de serviço em um projeto do Google Cloud de sua escolha.
Se você decidir criar suas próprias contas de serviço, siga as instruções em Contas e chaves de serviço.
Se você tiver gkeadm
como criar contas de serviço
automaticamente, há uma conta de serviço que precisa ser criada
manualmente: sua conta de serviço de acesso ao componente. Para saber como criar sua conta de serviço de acesso
a componentes e conceder a ela os papéis apropriados
do IAM, consulte
Conta de serviço de acesso a componentes.
Como gerar modelos para seus arquivos de configuração
Faça o download de gkeadm
no seu diretório atual.
Para gerar modelos:
./gkeadm create config
O comando acima criou esses arquivos no diretório atual:
credential.yaml
admin-ws-config.yaml
Preenchendo credential.yaml
Em credential.yaml
, preencha o nome de usuário e senha do vCenter. Exemplo:
kind: CredentialFile items: - name: vCenter username: "my-account-name" password: "AadmpqGPqq!a"
Preenchendo admin-ws-config.yaml
Vários campos em admin-ws-config.yaml
já estão preenchidos com valores padrão
ou gerados. Mantenha os valores preenchidos ou faça alterações à medida que
preferir.
Campos que você precisa preencher
Preencha os campos obrigatórios a seguir. Para informações sobre como preencher os campos, consulte Arquivo de configuração de estação de trabalho de administrador.
gcp: componentAccessServiceAccountKeyPath: "Fill in" vCenter: credentials: address: "Fill in" datacenter: "Fill in" datastore: "Fill in" cluster: "Fill in" network: "Fill in" resourcePool: "Fill in" caCertPath: "Fill in"
Se a estação de trabalho de administrador estiver atrás de um servidor proxy, preencha o campo
proxyURL
:
adminWorkstation: proxyURL: "Fill in"
Se você quiser que sua estação de trabalho de administrador receba seu endereço IP de um servidor DHCP,
defina ipAllocationMode
como "dhcp"
e remova a seção hostconfig
:
adminWorkstation: network: ipAllocationMode: "dhcp"
Se você quiser especificar um endereço IP estático para sua estação de trabalho de administrador, defina
ipAllocationMode
como "static"
e preencha a seção
hostconfig
:
adminWorkstation: network: ipAllocationMode: "static" hostconfig: ip: "Fill in" gateway: "Fill in" netmask: "Fill in" dns: - "Fill in"
Como fazer login
A Conta do Google definida como a
propriedade
do SDK account
é chamada de conta do SDK. A ferramenta de linha de comando gkeadm
usa a conta do SDK
para fazer o download do OVA da estação de trabalho de administrador e ativar os serviços no
projeto Google do Cloud.
Se você optar por fazer com que gkeadm
crie contas de serviço automaticamente,
gkeadm
também usará a conta do SDK para criar contas de serviço e chaves,
bem como conceder papéis a contas de serviço.
Por isso, é importante definir a propriedade account
do SDK antes de executar
gkeadm
para criar uma estação de trabalho do administrador.
Faça login com qualquer Conta do Google: Isso define a propriedade account
do SDK:
gcloud auth login
Verifique se a propriedade account
do SDK está configurada corretamente:
gcloud config list
A saída mostra os valores da propriedade account
do SDK.
Exemplo:
[core] account = my-name@google.com disable_usage_reporting = False Your active configuration is: [default]
Conceder papéis à conta do SDK
Sua conta do SDK precisa ter o seguinte
papel do IAM
no projeto pai do Google Cloud da conta de serviço de acesso a componentes.
Isso permite que gkeadm
ative os serviços no projeto do Google Cloud.
serviceUsage.serviceUsageAdmin
Se você optar por fazer com que gkeadm
crie automaticamente contas de serviço para você,
a conta do SDK também precisará ter os seguintes papéis no projeto
pai da conta de serviço de acesso a componentes. Isso permite que gkeadm
crie contas de serviço e chaves.
resourcemanager.projectIamAdmin
iam.serviceAccountCreator
iam.serviceAccountKeyAdmin
Para conceder papéis em um projeto do Google Cloud, é preciso ter determinadas permissões nesse projeto. Para instruções detalhadas, veja Como conceder, alterar e revogar acesso a recursos.
Se tiver as permissões necessárias, você mesmo poderá conceder os papéis. Caso contrário, outra pessoa na sua organização precisará conceder esses papéis para você.
Conceder o papel necessário à conta do SDK:
Linux e macOS
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/serviceusage.serviceUsageAdmin"
Windows
gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/serviceusage.serviceUsageAdmin"
Substitua:
PROJECT_ID
: o ID do projeto pai do Google Cloud da conta de serviço de acesso ao componente.ACCOUNT
: a conta do SDK
Atribuir papéis adicionais caso você queira que gkeadm
crie automaticamente contas de serviço.
Linux e macOS
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/resourcemanager.projectIamAdmin" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/iam.serviceAccountCreator" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/iam.serviceAccountKeyAdmin"
Windows
gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/resourcemanager.projectIamAdmin" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/iam.serviceAccountCreator" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/iam.serviceAccountKeyAdmin"
Substitua:
PROJECT_ID
: o ID do projeto pai da conta de serviço de acesso a componentesACCOUNT
: a conta do SDK
Como criar sua estação de trabalho do administrador
Digite este comando para criar a estação de trabalho de administrador. Se quiser que gkeadm
crie contas de serviço para você, inclua a sinalização
--auto-create-service-accounts
. Se você quiser criar manualmente
suas próprias contas de serviço, omita a sinalização.
./gkeadm create admin-workstation [--auto-create-service-accounts]
A saída fornece informações detalhadas sobre a criação da estação de trabalho do administrador:
... Getting ... service account... ... ******************************************************************** Admin workstation is ready to use. Admin workstation information saved to /usr/local/google/home/me/my-admin-workstation This file is required for future upgrades SSH into the admin workstation with the following command: ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.5.1 ********************************************************************
Como conseguir uma conexão SSH com a estação de trabalho do administrador
Próximo ao final da saída anterior, há um comando que pode ser usado para conseguir uma conexão SSH com a estação de trabalho de administrador. Digite esse comando agora. Exemplo:
ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.5.1
Liste os arquivos na estação de trabalho do administrador:
ls -1
Na saída, é possível ver dois arquivos de configuração do cluster, o arquivo do certificado
de CA e o arquivo de chave JSON para a conta de serviço do acesso a
componentes. Se gkeadm
criou contas de serviço para você, também será possível
ver os arquivos de chave JSON dessas contas de serviço. Exemplo:
admin-cluster.yaml user-cluster.yaml vcenter-ca-cert.pem component-access-key.json
Verifique se gkeadm
ativou a conta de serviço de acesso a componentes na
estação de trabalho de administrador:
gcloud config get-value account
Como copiar o arquivo de chave JSON para a estação de trabalho de administrador
Antes de criar um cluster, os arquivos de chave JSON das contas de serviço precisam estar na estação de trabalho de administrador no diretório inicial.
A chave da sua conta de serviço de acesso a componentes já está na estação de trabalho do administrador.
Se você incluiu a sinalização --auto-create-service-accounts
ao executar
gkeadm create admin-workstation
, as chaves para as contas de
serviço a seguir já estarão na estação de trabalho do administrador no diretório inicial. Caso contrário,
copie as chaves manualmente para o diretório inicial da estação de trabalho de administrador:
- Conta de serviço connect-register
- Conta de serviço logging-monitoring
Se você criou uma das contas de serviço a seguir, precisará copiar manualmente as chaves dessas contas de serviço para o diretório inicial da sua estação de trabalho de administrador:
- Conta de serviço de medição de uso
- Conta de serviço do Audit Logging
- Conta de serviço de autorização binária
A seguir
Como criar um cluster de administrador