Nesta página, você aprende a criar um cluster de usuário.
Nas etapas deste tópico, pressupomos que você
usou gkeadm
para criar sua estação de trabalho do administrador.
Se você não usou gkeadm
, mas seguiu as etapas em
Como criar uma estação de trabalho de administrador com um endereço IP estático,
será necessário fazer alguns ajustes ao longo deste tópico. As
etapas individuais explicam os ajustes necessários.
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 neste tópico para sua estação de trabalho de administrador.
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
. Para este
exercício, você precisa especificar três endereços IP a serem usados pelo cluster de
usuário.
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 o GKE On-Prem atribuirá aos nós do 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
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 seu arquivo admin-ws-config.yaml
para criar a estação de trabalho do administrador.
Quando gkeadm
criou a estação de trabalho de administrador, ela gerou outro
arquivo de configuração chamado user-cluster.yaml
. O arquivo de configuração, que
está na estação de trabalho de administrador, é criar o cluster de usuário.
Os arquivos admin-ws-config.yaml
e user-cluster.yaml
têm vários campos em
comum. Os valores desses campos comuns já estão preenchidos no
arquivo user-cluster.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:
stackdriver: projectID: serviceAccountKeyPath: gkeConnect: projectID: registerServiceAccountKeyPath: agentServiceAccountKeyPath:
Como preencher o restante do arquivo de configuração
Em seguida, é necessário preencher os campos restantes no
arquivo user-cluster.yaml
.
name
String. Um nome de sua escolha para o cluster de usuário. Exemplo:
name: "my-user-cluster"
gkeOnPremVersion
String. A versão do GKE On-Prem para o cluster de usuário. Por exemplo:
gkeOnPremVersion: "1.4.3-gke.3"
network.ipMode.type
String. Defina como "static"
.
network: ipMode: type: "static"
network.ipBlockFilePath
String. 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. Defina
network.ipBlockFilePath
como o caminho do arquivo de configuração do host. Exemplo:
network: ipBlockFilePath: "/my-config-directory/admin-hostconfig.yaml"
network.serviceCIDR
e network.podCiDR
Strings. 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 network.serviceCIDR
e
network.podCIDR
. Esses campos são preenchidos com valores padrão. 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:
network: ... serviceCIDR: "10.96.232.0/24" podCIDR: "192.168.0.0/16"
network.vCenter.networkName
String. O nome da rede do vSphere para os nós do cluster.
Se o nome tiver um caractere especial, use uma sequência de escape.
Caracteres especiais | Sequência de escape |
---|---|
Barra (/ ) |
%2f |
Barra invertida (\ ) |
%5c |
Sinal de porcentagem (% ) |
%25 |
Se o nome da rede não for exclusivo, será possível especificar um caminho para a rede, como /DATACENTER/network/NETWORK_NAME
.
Por exemplo:
network: vCenter: networkName: "MY-CLUSTER-NETWORK"
loadBalancer.vips
Strings. Defina o valor de loadBalancer.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
loadBalancer.vips.ingressVIP
como o endereço IP que você escolheu configurar
no balanceador de carga para o serviço de entrada no cluster de usuário. Por exemplo:
loadBalancer: ... vips: controlplaneVIP: "203.0.113.5" ingressVIP: "203.0.113.6"
loadBalancer.kind
String. Defina como "Seesaw"
. Por exemplo:
loadBalancer: kind: "Seesaw"
loadBalancer.seesaw.ipBlockFilePath
String. Defina como o caminho do arquivo hostconfig da VM do Seesaw. Por exemplo:
loadbalancer: ... seesaw: ipBlockFilePath: "user-seesaw-hostconfig.yaml"
loadBalancer.seesaw.vird
Número inteiro. O identificador do roteador virtual da VM do Seesaw. Esse identificador precisa ser exclusivo em uma VLAN. O intervalo válido é de 1 a 255. Exemplo:
loadBalancer: seesaw: vrid: 126
loadBalancer.seesaw.masterIP
String. O endereço IP do plano de controle para a VM da Seesaw. Por exemplo:
loadBalancer: seesaw: masterIP: "203.0.113.7"
loadBalancer.seesaw.cpus
Número inteiro. O número de CPUs da VM do Seesaw. Por exemplo:
loadBalancer: seesaw: cpus: 8
loadBalancer.seesaw.memoryMB
Número inteiro. O número de megabytes de memória da VM do Seesaw. Por exemplo:
loadBalancer:. seesaw: memoryMB: 8192
loadBalancer.seesaw.enableHA
Booleano. Defina como false
. Por exemplo:
loadBalancer:. seesaw: enableHA: false
nodePools.name
String. Um nome de sua escolha para um pool de nós. Por exemplo:
nodePools: - name: "my-user-pool"
nodePools.replicas
Número inteiro. O número de VMs no pool de nós. Defina como 3
.
nodePools: - name: "my-user-pool" replicas: 3
stackdriver.clusterLocation
String. A região do Google Cloud em que você quer armazenar os 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 flua pelos endereços IP restritos do Google.
stackdriver.enableVPC
Booleano. Defina stackdriver.enableVPC
como true
se você tiver a rede do cluster
controlada por uma VPC. Isso garante que toda
a telemetria flua pelos endereços IP restritos do Google. Caso contrário, defina
como false
. Por exemplo:
stackdriver: enableVPC: false
Campos extras no arquivo de configuração
O arquivo de configuração
do GKE On-Prem
tem vários campos além dos mostrados neste tópico. Por exemplo,
é possível usar o campo manuallbspec
para configurar o GKE On-Prem para ser executado
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 --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_FILE]
em que:
[ADMIN_CLUSTER_KUBECONFIG] é o caminho do arquivo kubeconfig para o cluster de administrador;
[CONFIG_FILE] é o caminho do arquivo de configuração do cluster de usuário.
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 criar o balanceador de carga
Crie e configure a VM para o balanceador de carga do Seesaw:
gkectl create loadbalancer --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_FILE]
em que:
[ADMIN_CLUSTER_KUBECONFIG] é o caminho do arquivo kubeconfig para o cluster de administrador;
[CONFIG_FILE] é o caminho do arquivo de configuração do cluster de usuário.
Como criar o cluster de usuário
Crie o cluster de usuário:
gkectl create cluster --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_FILE]
em que:
[ADMIN_CLUSTER_KUBECONFIG] é o caminho do arquivo kubeconfig para o cluster de administrador;
[CONFIG_FILE] é o caminho do arquivo de configuração do cluster de usuário.