Aprenda a criar um cluster de administrador e um cluster de usuário com uma configuração básica.
As etapas deste tópico pressupõem que você usou gkeadm
para criar a estação de trabalho
do administrador.
Se você não usou gkeadm
e seguiu o tópico avançado
Como criar uma estação de trabalho de administrador com um endereço
IP estático, talvez
seja necessário fazer ajustes conforme explicado em cada etapa.
Para uma estação de trabalho de administrador
do DHCP, use o
guia de instalação do DHCP correspondente.
Se você tiver um proxy, todos os comandos gkectl
usarão automaticamente o mesmo
proxy definido no
arquivo de configuração para solicitações
de Internet feitas na estação de trabalho do administrador. Se a estação de trabalho do administrador não estiver localizada
no mesmo proxy, consulte as "Opções de proxy manuais" nos tópicos avançados
Como criar uma estação de trabalho do administrador: IP estático
| DHCP.
SSH na estação de trabalho de administrador
Para se conectar à estação de trabalho do administrador usando SSH, siga as instruções em Como conseguir uma conexão SSH para a estação de trabalho do administrador.
A conta de serviço da lista de permissões está ativada na estação de trabalho de administrador. Siga todas as etapas restantes deste tópico na sua estação de trabalho de administrador.
Como configurar IPs estáticos no cluster de administrador
Para especificar os endereços IP estáticos que você quer usar no cluster de administrador,
crie um arquivo de configuração de host chamado admin-hostconfig.yaml
. Para este
exercício, é necessário especificar cinco endereços IP a serem usados pelo
cluster de administrador.
Veja a seguir um exemplo de arquivo de configuração de host com cinco hosts:
hostconfig: dns: 172.16.255.1 tod: 216.239.35.0 otherdns: - 8.8.8.8 - 8.8.4.4 othertod: - ntp.ubuntu.com searchdomainsfordns: - "my.local.com" blocks: - netmask: 255.255.252.0 gateway: 172.16.23.254 ips: - ip: 172.16.20.10 hostname: admin-host1 - ip: 172.16.20.11 hostname: admin-host2 - ip: 172.16.20.12 hostname: admin-host3 - ip: 172.16.20.13 hostname: admin-host4 - ip: 172.16.20.14 hostname: admin-host5
O campo ips
é uma matriz de endereços IP e nomes de host. Esses são os endereços
IP e nomes de host que os clusters do Anthos no VMware (GKE On-Prem) atribuirão aos
nós de cluster de administrador.
No arquivo de configuração do host, você também especifica os endereços dos servidores DNS, servidores de horário e gateway padrão que os nós do cluster de administrador usarão.
O campo searchdomainsfordns
é uma matriz de domínios de pesquisa DNS a serem usados
no cluster. Esses domínios são usados como parte de uma lista de pesquisa de domínio.
Como configurar IPs estáticos no cluster de usuário
Para especificar os endereços IP estáticos que você quer usar no cluster de usuário,
crie um arquivo de configuração de host chamado user-hostconfig.yaml
.
Veja a seguir um exemplo de arquivo de configuração de host com três hosts:
hostconfig: dns: 172.16.255.1 tod: 216.239.35.0 otherdns: - 8.8.8.8 - 8.8.4.4 othertod: - ntp.ubuntu.com searchdomainsfordns: - "my.local.com" blocks: - netmask: 255.255.252.0 gateway: 172.16.23.254 ips: - ip: 172.16.20.15 hostname: user-host1 - ip: 172.16.20.16 hostname: user-host2 - ip: 172.16.20.17 hostname: user-host3
O campo ips
é uma matriz de endereços IP e nomes de host. Esses são os endereços
IP e nomes de host que os clusters do Anthos no VMware atribuirão aos nós de
cluster de usuário.
No arquivo de configuração do host, você também especifica os endereços dos servidores DNS, servidores de horário e gateway padrão que os nós do cluster de usuário usarão.
O campo searchdomainsfordns
é uma matriz de domínios de pesquisa DNS a serem usados
no cluster. Esses domínios são usados como parte de uma lista de pesquisa de domínio.
Campos preenchidos no arquivo de configuração dos clusters do Anthos no VMware
Lembre-se de que, ao criar a estação de trabalho do administrador, você preencheu um
arquivo de configuração chamado admin-ws-config.yaml
. A ferramenta de linha de comando gkeadm
usou o arquivo admin-ws-config.yaml
para criar a estação de trabalho do administrador.
Quando gkeadm
criou a estação de trabalho do administrador, ela gerou um segundo
arquivo de configuração chamado config.yaml
. Esse arquivo de configuração, presente na
estação de trabalho de administrador, serve para criar clusters do Anthos em clusters do VMware.
Os arquivos admin-ws-config.yaml
e config.yaml
têm vários campos em
comum. Os valores desses campos comuns já estão preenchidos no
arquivo config.yaml
.
Estes são os campos que já estão preenchidos com os valores que você forneceu quando criou a estação de trabalho do administrador:
vcenter: credentials: address: username: password: datacenter: datastore: cluster: network: resourcepool: cacertpath: gkeconnect: projectid: registerserviceaccountkeypath: agentserviceaccountkeypath: stackdriver: projectid: serviceaccountkeypath: gcrkeypath:
Como preencher o restante do arquivo de configuração dos clusters do Anthos no VMware
Em seguida, é necessário preencher os campos restantes no arquivo config.yaml
.
bundlepath
O arquivo do pacote dos clusters do Anthos no VMware contém todos os componentes em uma
determinada versão dos clusters do Anthos no VMware. Defina o valor de bundlepath
como
o caminho do arquivo de pacote da estação de trabalho do administrador.
bundlepath: /var/lib/gke/bundles/gke-onprem-vsphere-1.5.2-gke.3-full.tgz
vcenter.datadisk
Os clusters do Anthos no VMware criam um disco de máquina virtual (VMDK, na sigla em inglês) para armazenar os
dados de objeto do Kubernetes para o cluster de administrador. O instalador cria o VMDK para
você, mas é necessário fornecer um nome para o VMDK no campo vcenter.datadisk
.
Por exemplo:
vcenter: ... datadisk: "my-disk.vmdk"
- Armazenamento de dados vSAN: como criar uma pasta para o VMDK
Se você estiver usando um armazenamento de dados vSAN, será necessário colocar o VMDK em uma pasta. Você precisa criar a pasta manualmente com antecedência. Para fazer isso, use
govc
para criar uma pasta:govc datastore.mkdir -namespace=true my-gke-on-prem-folder
Em seguida, defina
vcenter.datadisk
como o caminho do VMDK, incluindo a pasta. Por exemplo:vcenter: ... datadisk: "my-gke-on-prem-folder/my-disk.vmdk"
Na versão 1.1.1, um problema conhecido exige que você forneça o identificador universal exclusivo (UUID, na sigla em inglês) da pasta em vez do caminho.
proxy
Se sua rede estiver protegida por um servidor proxy, especifique o endereço de proxy e os endereços que não podem passar pelo servidor proxy.
Defina proxy.url
para especificar o endereço HTTP
do seu servidor proxy. É necessário
incluir o número da porta, mesmo que seja igual ao da porta padrão do esquema.
O servidor proxy especificado aqui é usado pelos clusters do Anthos em clusters do VMware. Além disso, a estação de trabalho de administrador será configurada automaticamente para usar esse
mesmo servidor proxy, a menos que você defina a variável de ambiente HTTPS_PROXY
na
estação de trabalho do administrador.
Configure proxy.noproxy
para definir uma lista de endereços IP, intervalos de endereços IP,
nomes de host e nomes de domínio que não podem passar pelo servidor proxy. Quando
os clusters do Anthos no VMware enviam uma solicitação para um desses endereços, hosts ou
domínios, essa solicitação é enviada diretamente.
Exemplo:
proxy: url: "http://my-proxy.example.local:80" noproxy: "10.151.222.0/24, my-host.example.local,10.151.2.1"
admincluster.ipblockfilepath
Como você está usando endereços IP estáticos, é necessário ter um
arquivo de configuração de host, conforme descrito em
Como configurar IPs estáticos. Forneça o caminho para seu arquivo de
configuração de host no campo admincluster.ipblockfilepath
. Exemplo:
admincluster: ipblockfilepath: "/my-config-directory/admin-hostconfig.yaml"
admincluster.bigip.credentials
Os clusters do Anthos no VMware precisam saber o endereço IP ou o nome do host, o nome de usuário
e a senha do balanceador de carga F5 BIG-IP. Defina os valores em
admincluster.bigip
para fornecer essas informações. Coloque uma
âncora,
&bigip-credentials
, depois de credentials
para que você não precise
repetir essas informações na seção usercluster
. Por exemplo:
admincluster: ... bigip: credentials: &bigip-credentials address: "203.0.113.2" username: "my-admin-f5-name" password: "rJDlm^%7aOzw"
admincluster.bigip.partition
Antes, você
criava uma partição BIG-IP
para o cluster de administrador. Defina
admincluster.bigip.partition
como o nome da partição. Por exemplo:
admincluster: ... bigip: partition: "my-admin-f5-partition"
admincluster.vips
Defina o valor de admincluster.vips.controlplanevip
como o
endereço IP que você escolheu configurar no balanceador de carga
para o servidor da API Kubernetes do cluster de administrador. Defina o valor de
ingressvip
como o endereço IP que você escolheu configurar no balanceador de carga
para o serviço de entrada do cluster de administrador. Por exemplo:
admincluster: ... vips: controlplanevip: 203.0.113.3 ingressvip: 203.0.113.4
admincluster.serviceiprange
e admincluster.podiprange
O cluster de administrador precisa ter um intervalo de endereços IP
para usar em serviços e um para usar em pods. Esses intervalos
são especificados pelos campos admincluster.serviceiprange
e
admincluster.podiprange
. Esses campos são preenchidos quando você executa gkectl create-config
. Se quiser,
é possível alterar os valores preenchidos para valores de sua escolha.
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.
Exemplo:
admincluster: ... serviceiprange: 10.96.232.0/24 podiprange: 192.168.0.0/16
usercluster.ipblockfilepath
Como você está usando endereços IP estáticos, é necessário ter um
arquivo de configuração de host, conforme descrito em
Como configurar IPs estáticos. Forneça o caminho para
seu arquivo de configuração de host no campo usercluster.ipblockfilepath
. Por
exemplo:
usercluster: ipblockfilepath: "/my-config-directory/user-hostconfig.yaml"
usercluster.bigip.credentials
Coloque uma
referência,
*bigip-credentials
, depois de usercluster.bigip.credentials
para usar os mesmos
address
, username
e password
especificados em
admincluster.bigip.credentials
. Por exemplo:
usercluster: ... bigip: credentials: *bigip-credentials
usercluster.bigip.partition
Antes, você
criava uma partição BIG-IP
para o cluster de usuário. Defina
usercluster.bigip.partition
como o nome da partição. Por exemplo:
usercluster: ... bigip: partition: "my-user-f5-partition" ...
usercluster.vips
Defina o valor de usercluster.vips.controlplanevip
como o
endereço IP que você escolheu configurar no balanceador de carga
para o servidor da API Kubernetes do cluster de usuário. Defina o valor de
ingressvip
como o endereço IP que você escolheu configurar no balanceador de carga
para o serviço de entrada do cluster de usuário. Por exemplo:
usercluster: ... vips: controlplanevip: 203.0.113.6 ingressvip: 203.0.113.7
usercluster.serviceiprange
e usercluster.podiprange
O cluster do usuário precisa ter um intervalo de endereços IP
para usar em serviços e um intervalo de endereços IP para usar em pods. Esses intervalos
são especificados pelos campos usercluster.serviceiprange
e
usercluster.podiprange
. Esses campos são preenchidos quando você executa gkectl create-config
. Se preferir,
é possível alterar os valores preenchidos para valores de sua escolha.
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.
Exemplo:
usercluster: ... serviceiprange: 10.96.233.0/24 podiprange: 172.16.0.0/12
Como desativar regras antiafinidade do VMware DRS
Os clusters do Anthos no VMware criam automaticamente regras de antiafinidade do VMware Distributed Resource Scheduler (DRS, na sigla em inglês; link em inglês) para os nós do cluster de usuário, fazendo com que eles sejam distribuídos em pelo menos três hosts físicos no data center.
Esse recurso exige que o ambiente vSphere atenda às seguintes condições
- O VMware DRS está ativado. O VMware DRS requer a edição de licença do vSphere Enterprise Plus. Para saber como ativar o DRS, consulte Como ativar o VMware DRS em um cluster.
- A conta de usuário do vSphere fornecida no campo
vcenter
tem a permissãoHost.Inventory.EditCluster
. - Há pelo menos três hosts físicos disponíveis.
Lembre-se de que, se você tiver uma licença padrão do vSphere, não será possível ativar o VMware DRS.
Se você não tiver o DRS ativado ou se não tiver pelo menos três hosts para
os quais as VMs do vSphere podem ser programadas, adicione
usercluster.antiaffinitygroups.enabled: false
ao arquivo de configuração.
Por exemplo:
usercluster: ... antiaffinitygroups: enabled: false
Para mais informações, consulte as Notas de lançamento 1.1.0-gke.6
lbmode
Defina lbmode
como "Integrated"
. Por exemplo:
lbmode: "Integrated"
stackdriver.clusterlocation
Defina stackdriver.clusterlocation
como uma região do Google Cloud em que você quer
armazenar registros. É recomendável escolher uma região próxima
ao data center local.
stackdriver.enablevpc
Defina stackdriver.enablevpc
como true
se você tiver a rede do cluster
controlada por uma VPC. Isso garante que toda
a telemetria passe pelos endereços IP restritos do Google.
Campos extras no arquivo de configuração
O arquivo de configuração
dos clusters do Anthos no VMware
têm vários campos, além daqueles mostrados neste tópico. Por exemplo,
é possível usar o campo manuallbspec
para configurar os clusters do Anthos no VMware para serem executados
no modo de balanceamento de carga manual.
Para uma descrição completa dos campos no arquivo de configuração, consulte Como instalar usando o DHCP e Como instalar usando endereços IP estáticos.
Como validar o arquivo de configuração
Depois de modificar o arquivo de configuração, execute gkectl check-config
para
verificar se o arquivo é válido e pode ser usado para instalação:
gkectl check-config --config config.yaml
Se o comando retornar mensagens FAILURE
, corrija os problemas e valide o
arquivo novamente.
Se quiser pular as validações mais demoradas, transmita a sinalização --fast
.
Para pular validações individuais, use as sinalizações --skip-validation-xxx
. Para
saber mais sobre o comando check-config
, consulte
Como executar verificações de simulação.
Como executar gkectl prepare
Execute gkectl prepare
para inicializar o ambiente do vSphere:
gkectl prepare --config config.yaml --skip-validation-all
Como criar os clusters de administrador e de usuário
Crie o cluster de administrador e o cluster de usuário executando o comando
gkectl create cluster
.gkectl create cluster --config config.yaml --skip-validation-all
O comando
gkectl create cluster
cria arquivoskubeconfig
nomeados como[CLUSTER_NAME]-kubeconfig
no diretório atual em que [CLUSTER_NAME] é o nome definido por você paracluster
. Exemplo:MY-CLUSTER-kubeconfig
A documentação dos clusters do Anthos no VMware usam os seguintes marcadores para se referir a esses arquivos
kubeconfig
:- Cluster de administrador: [ADMIN_CLUSTER_KUBECONFIG]
- Cluster de usuário: [USER_CLUSTER_KUBECONFIG]
Verifique se o cluster foi criado e está em execução:
Para verificar o cluster de administrador, execute o seguinte comando:
kubectl get nodes --kubeconfig [ADMIN_CLUSTER_KUBECONFIG]
A saída mostra os nós do cluster de administrador.
Para verificar o cluster de usuário, execute o seguinte comando:
kubectl get nodes --kubeconfig [USER_CLUSTER_KUBECONFIG]
A saída mostra os nós do cluster de usuário. Por exemplo:
NAME STATUS ROLES AGE VERSION xxxxxx-1234-ipam-15008527 Ready <none> 12m v1.14.7-gke.24 xxxxxx-1234-ipam-1500852a Ready <none> 12m v1.14.7-gke.24 xxxxxx-1234-ipam-15008536 Ready <none> 12m v1.14.7-gke.24
Dica: se os clusters estiverem registrados, faça login no Console do Cloud para verificar se eles foram criados com sucesso.
Prossiga para a próxima seção para saber como implantar um aplicativo no cluster de usuário.