O GKE On-Prem pode ser executado em um dos três modos de balanceamento de carga: integrado, manual ou em pacote. Neste tópico, mostramos como configurar o GKE On-Prem para execução no modo de balanceamento de carga em pacote.
No modo de balanceamento de carga em pacote, o GKE On-Prem fornece e gerencia o balanceador de carga. Não é necessário ter uma licença de balanceador de carga e a configuração que você precisa fazer é mínima.
O balanceador de carga em pacote fornecido pelo GKE On-Prem é o balanceador de carga Seesaw.
Vantagens do modo de balanceamento de carga em pacote
O modo de balanceamento de carga em pacote oferece estas vantagens, em comparação com o modo de balanceamento de carga manual:
Uma única equipe pode ser responsável pela criação do cluster e pela configuração do balanceador de carga. Por exemplo, uma equipe de administração de cluster não precisaria depender de uma equipe de rede separada para adquirir, executar e configurar o balanceador de carga com antecedência.
O GKE On-Prem configura automaticamente os endereços IP virtuais (VIPs, na sigla em inglês) no balanceador de carga. No momento da criação do cluster, o GKE On-Prem configura o balanceador de carga com VIPs para o servidor da API Kubernetes, o serviço de entrada e os complementos do cluster. À medida que os clientes criam serviços do tipo LoadBalancer, o GKE On-Prem configura automaticamente os VIPs de serviço no balanceador de carga.
As dependências entre organizações, grupos e administradores são reduzidas. Especificamente, o grupo que gerencia um cluster depende menos do grupo que gerencia a rede.
Versões recomendadas
Recomendamos que você use o vSphere 6.7 e o Virtual Distributed Switch (VDS) 6.6 com o modo de balanceamento de carga em pacote.
Se preferir, use versões anteriores, mas a instalação será menos segura. Nas seções restantes deste tópico, fornecemos mais detalhes sobre as vantagens de segurança do uso do vSphere 6.7 e do VDS 6.6.
Como planejar suas VLANs
Uma instalação do GKE On-Prem tem um cluster de administrador e um ou mais clusters de usuário. Com o modo de balanceamento de carga em pacote, recomendamos que você tenha seus clusters em VLANs separadas. É especialmente importante que seu cluster de administrador esteja na própria VLAN.
Como separar endereços IP virtuais
Independentemente da sua escolha de modo de balanceamento de carga, você precisa separar vários endereços IP virtuais (VIPs, na sigla em inglês) que pretende usar para balanceamento de carga. Esses VIPs permitem que clientes externos alcancem os servidores da API Kubernetes, os serviços de entrada e os serviços complementares.
É necessário separar um conjunto de VIPs para o cluster de administrador e outro conjunto de VIPs para cada cluster de usuário que você pretende criar. Para um determinado cluster, esses VIPs precisam estar na mesma VLAN que os nós de cluster e as VMs do Seesaw desse cluster.
Para instruções sobre como reservar VIPs, consulte Como reservar endereços IP virtuais.
Como reservar endereços IP de nós
Com o modo de balanceamento de carga em pacote, ou você especifica endereços IP estáticos para seus nós de cluster ou os nós de cluster podem receber endereços IP de um servidor DHCP.
Se quiser que os nós de cluster tenham endereços IP estáticos, reserve endereços suficientes para os nós no cluster de administrador e os nós em todos os clusters de usuário que você pretende criar. Para detalhes sobre quantos endereços IP de nó precisam ser reservados, consulte Como configurar endereços IP estáticos.
Como separar endereços IP e VIPs para VMs do Seesaw
Em seguida, separe os endereços IP e os VIPs das VMs que executarão os balanceadores de carga Seesaw.
O número de endereços que você reserva depende dos balanceadores de carga a serem criados, Seesaw altamente disponíveis (HA, na sigla em inglês) ou não.
Caso 1: balanceadores de carga altamente disponíveis
Para o cluster de administrador, reserve dois endereços IP para um par de VMs do Seesaw. Além disso, para seu cluster de administrador, separe um único VIP para o par de VMs do Seesaw. Esses três endereços precisam estar na mesma VLAN que os nós de cluster de administrador.
Para cada cluster de usuário que você pretende criar, separe dois endereços IP para um par de VMs do Seesaw. Além disso, para cada cluster de usuário, separe um único VIP para o par de VMs do Seesaw. Para um determinado cluster de usuário, esses três endereços precisam estar na mesma VLAN que os nós de cluster de usuário.
Caso 2: balanceadores de carga não altamente disponíveis
Para o cluster de administrador, reserve um endereço IP para uma VM do Seesaw. Além disso, para o cluster de administrador, separe um VIP para o balanceador de carga Seesaw. Os dois endereços precisam estar na mesma VLAN dos nós de cluster de administrador.
Para cada cluster de usuário que você pretende criar, separe um endereço IP para uma VM do Seesaw. Além disso, para cada cluster de usuário, separe um VIP para o balanceador de carga Seesaw. Os dois endereços precisam estar na mesma VLAN que os nós de cluster de usuário.
Como planejar seus grupos de portas
Cada uma das VMs do Seesaw tem duas interfaces de rede. Uma dessas interfaces de rede é configurada com o VIP do balanceador de carga Seesaw. A outra interface de rede é configurada com o endereço IP da própria VM.
Para uma VM individual do Seesaw, as duas interfaces de rede podem ser conectadas ao mesmo grupo de portas do vSphere ou conectadas a grupos de portas separados. Se os grupos de portas estiverem separados, eles precisarão estar na mesma VLAN.
Neste tópico, mencionamos dois grupos de portas:
Grupo de portas do balanceador de carga: para uma VM do Seesaw, a interface de rede configurada com o VIP do balanceador de carga Seesaw é conectada a este grupo de portas.
grupo de portas do nó de cluster: para uma VM do Seesaw, a interface de rede que é configurada com o endereço IP da própria VM é conectada a este grupo de portas. Os nós de cluster do GKE On-Prem também são conectados a este grupo de portas.
O grupo de portas do balanceador de carga e o grupo de portas do nó do contêiner podem ser o mesmo. Porém, recomendamos que eles sejam separados.
Como criar arquivos hostconfig
Para cada cluster que você pretende criar, especifique os endereços escolhidos para as VMs do Seesaw em um arquivo hostconfig. Esse arquivo hostconfig destina-se às VMs do balanceador de carga, não aos nós de cluster. Se você pretende usar endereços IP estáticos para os nós de cluster, crie um arquivo hostconfig separado para eles. Veja um exemplo de um arquivo hostconfig que especifica dois endereços IP para VMs do Seesaw:
hostconfig: dns: "172.16.255.1" tod: "192.138.210.214" otherdns: - "8.8.8.8" - "8.8.4.4" othertod: - "ntp.ubuntu.com" searchdomainsfordns: - "my.local.com" blocks: - netmask: "255.255.252.0" gateway: "110.116.232.1" ips: - ip: "172.16.20.18" hostname: "seesaw-1" - ip: "172.16.20.19" hostname: "seesaw-2"
Como preencher o arquivo de configuração do GKE On-Prem
Antes de criar um cluster, prepare um arquivo de configuração do GKE On-Prem.
No arquivo de configuração, defina lbmode
como "Bundled"
.
Um arquivo de configuração pode conter a especificação de um único cluster ou
as especificações de vários clusters. Para cada cluster no
arquivo de configuração, preencha a seção loadbalancerconfig
.
loadbalancerconfig: ipblockfilepath: vrid: vip: cpus: memorymb: enableha: antiaffinitygroups: enabled: network:
loadbalancerconfig.ipblockfilepath
Defina loadbalancerconfig.ipfileblockpath
com o caminho do
arquivo hostconfig do balanceador de carga. Por exemplo:
ipblockfilepath: "config-file-directory/my-user-hostconfig.yaml"
loadbalancerconfig.vrid
Defina loadbalancerconfig.vrid
com o identificador de roteador virtual do seu grupo do
Seesaw. Esse identificador precisa ser exclusivo em uma VLAN. O intervalo válido é de 1 a 255.
Por exemplo:
vrid: 125
loadbalancerconfig.vip
Defina loadbalancerconfig.vip
com o VIP do seu grupo do Seesaw. Por exemplo:
vip: "172.16.20.21"
loadbalancerconfig.cpus
Defina loadbalancerconfig.cpus
com o número de CPUs de cada VM do Seesaw.
Por exemplo:
cpus: 4
loadbalancerconfig.memorymb
Defina loadbalancerconfig.memorymb
com o número de megabytes de memória de cada
VM do Seesaw. Por exemplo:
memorymb: 3072
loadbalancerconfig.antiaffinitygroups.enabled
Se você quiser aplicar uma
regra antiafinidade
às VMs do Seesaw, defina o valor de
loadbalancerconfig.antiaffinitygroups.enabled
como true
. Caso contrário, defina o
valor como false
. O valor padrão é true
. O valor recomendado é
true
, para que as VMs do Seesaw sejam colocadas em hosts físicos diferentes sempre que
possível. Por exemplo:
antiaffinitygroups: enabled: true
loadbalancerconfig.enableha
Se você quiser um balanceador de carga altamente disponível, defina o valor de
loadbalancerconfig.enableha
como true
. Caso contrário, defina o
valor como false
.
O valor padrão é false
.
enableha: true
Se você definir enableha
como true
, será necessário ativar o aprendizado MAC.
loadbalancerconfig.network
Defina loadbalancerconfig.network
com o nome do seu
grupo de portas do balanceador de carga. Se você deixar esse campo em branco,
a interface de rede configurada com o VIP do
balanceador de carga Seesaw será conectada ao seu
grupo de portas do nó do cluster.
Por exemplo:
network: "USER_SEESAW_VIP_PORT_GROUP"
Exemplo de um arquivo de configuração do GKE On-Prem
Veja um exemplo que mostra partes de um arquivo de configuração do GKE
On-Prem. O arquivo de configuração descreve dois clusters: um cluster de administrador e um cluster de
usuário. Cada cluster tem uma seção loadbalancerconfig
:
lbmode: "Bundled" ... admincluster: loadbalancerconfig: ipblockfilepath: "admin-hostconfig.yaml" vrid: 124 vip: 172.16.20.20 cpus: 2 memorymb: 3072 enableha: true antiaffinitygroups: enabled: true network: "ADMIN_LOAD_BALANCER_PORT_GROUP" ... usercluster: loadbalancerconfig: ipblockfilepath: "user-hostconfig.yaml" vrid: 125 vip: 172.16.20.21 cpus: 4 memorymb: 3072 enableha: true antiaffinitygroups: enabled: true network: "USER_LOAD_BALANCER_PORT_GROUP"
Como ativar o aprendizado MAC ou o modo promíscuo (somente alta disponibilidade)
Se você estiver configurando um balanceador de carga que não seja altamente disponível, ignore esta seção.
Se você estiver configurando um balanceador de carga Seesaw altamente disponível, será necessário ativar uma combinação de aprendizado MAC, transmissões forjadas e modo promíscuo no grupo de portas do balanceador de carga.
A forma como você ativa esses recursos varia de acordo com o tipo de switch:
Tipo de switch | Como ativar recursos | Impacto na segurança |
---|---|---|
vSphere 6.7 com VDS 6.6 |
Ative o aprendizado MAC e
as transmissões forjadas
do balanceador de carga executando este comando:
|
Mínima. Se o grupo de portas do balanceador de carga estiver conectado apenas às VMs do Seesaw, será possível limitar o aprendizado MAC às VMs confiáveis do Seesaw. |
vSphere 6.5 ou vSphere 6.7 com uma versão do VDS anterior à 6.6 |
Ative o modo promíscuo e as transmissões forjadas para o grupo de portas do balanceador de carga. Use a interface do usuário do vSphere na página do grupo de portas na guia Networking: Edit Settings -> Security. | Todas as VMs no seu grupo de portas do balanceador de carga estão no modo promíscuo. Portanto, qualquer VM no seu grupo de portas do balanceador de carga pode ver todo o tráfego. Se o grupo de portas do balanceador de carga estiver conectado apenas às VMs do Seesaw, apenas essas VMs poderão ver todo o tráfego. |
Switch lógico NSX-T | Ative o aprendizado MAC no switch lógico. | O vSphere não é compatível com a criação de dois switches lógicos no mesmo domínio da camada 2. Portanto, as VMs do Seesaw e os nós de cluster precisam estar no mesmo switch lógico. Isso significa que o aprendizado MAC está ativado para todos os nós de cluster. Um invasor pode atingir um spoofing de MAC executando pods privilegiados no cluster. |
Switch vSphere padrão | Ative o modo promíscuo e as transmissões forjadas para o grupo de portas do balanceador de carga. Use a interface do usuário do vSphere em cada host ESXI: Configure -> Virtual switches -> Standard Switch -> Edit Setting on the port group -> Security. | Todas as VMs no seu grupo de portas do balanceador de carga estão no modo promíscuo. Portanto, qualquer VM no seu grupo de portas do balanceador de carga pode ver todo o tráfego. Se o grupo de portas do balanceador de carga estiver conectado apenas às VMs do Seesaw, apenas essas VMs poderão ver todo o tráfego. |
Como executar uma verificação de simulação no arquivo de configuração
Depois de criar os arquivos hostconfig e o arquivo de configuração do GKE On-Prem, execute uma verificação de simulação no arquivo de configuração:
gkectl check-config --config [CONFIG_FILE]
[CONFIG_FILE] é o caminho do arquivo de configuração do GKE On-Prem.
Se você já tiver um cluster de administrador e seu arquivo de configuração contiver apenas especificações
usercluster
, será necessário incluir no comando o arquivo kubeconfig de seu cluster de administrador:
gkectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] check-config --config [CONFIG_FILE]
[ADMIN_CLUSTER_KUBECONFIG] é o caminho do arquivo kubeconfig do cluster de administrador.
Se a verificação de simulação falhar, faça ajustes no arquivo de configuração do GKE On-Prem e nos arquivos hostconfig conforme necessário. Em seguida, execute a verificação de simulação novamente.
Como fazer upload de imagens do SO
Execute este comando para fazer upload de imagens do SO para seu ambiente do vSphere:
gkectl prepare --config [CONFIG_FILE]
[CONFIG_FILE] é o caminho do arquivo de configuração do GKE On-Prem.
Como criar o balanceador de carga
Crie e configure as VMs de seu balanceador de carga:
gkectl create loadbalancer --config [CONFIG_FILE]
[CONFIG_FILE] é o caminho do arquivo de configuração do GKE On-Prem.
Como criar um cluster que use o modo de balanceamento de carga em pacote
Crie seus clusters:
gkectl create cluster --config [CONFIG_FILE]
[CONFIG_FILE] é o caminho do arquivo de configuração do GKE On-Prem.
Se você já tiver um cluster de administrador e seu arquivo de configuração contiver apenas especificações
usercluster
, será necessário incluir no comando o arquivo kubeconfig de seu cluster de administrador:
gkectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] check-config --config [CONFIG_FILE]
[ADMIN_CLUSTER_KUBECONFIG] é o caminho do arquivo kubeconfig do cluster de administrador.
Teste de desempenho e carga
A capacidade de download do aplicativo é escalonada linearmente com o número de back-ends. Isso ocorre porque os back-ends enviam respostas diretamente aos clientes usando o Direct Server Return, ignorando o balanceador de carga.
Por outro lado, a capacidade de upload do aplicativo é limitada pela capacidade da VM do Seesaw que realiza o balanceamento de carga.
Os aplicativos variam na quantidade de CPU e memória que exigem. Por isso, é importante fazer um teste de carga antes de começar a atender a um grande número de clientes.
O teste indica que uma VM do Seesaw com 8 CPUs e 8 GB de memória pode manipular 10 GB/s (taxa de linha) de tráfego de upload com 10 mil conexões TCP simultâneas. No entanto, é importante executar seu próprio teste de carga se você planeja aceitar um grande número de conexões TCP simultâneas.
Limites de escalonamento
Com o balanceamento de carga em pacote, há limites para o volume de escalonamento do cluster. Há um limite para o número de nós no cluster e para o número de serviços que podem ser configurados no balanceador de carga. Há também um limite para verificações de integridade. O número de verificações de integridade depende do número de nós e do número de serviços.
A partir da versão 1.3.1, o número de verificações de integridade depende do número
de nós e do número de serviços locais de tráfego. Um serviço local de tráfego é
um serviço que tem o
externalTrafficPolicy
definido como "Local"
.
Versão 1.3.0 | Versão 1.3.1 e mais recentes | |
---|---|---|
Máximo de serviços (S) | 100 | 500 |
Máximo de nós (N) | 100 | 100 |
Máximo de verificações de integridade | S * N <= 10 mil | N + L * N <= 10 mil, em que L é o número de serviços locais de tráfego |
Exemplo: na versão 1.3.1, suponha que você tenha 100 nós e 99 serviços locais de tráfego. Então, o número de verificações de integridade é 100 + 99 * 100 = 10.000, o que está dentro do limite de 10 mil.
Como fazer upgrade do balanceador de carga para o cluster de administrador
A partir da v1.4, os balanceadores de carga recebem upgrade durante o upgrade do cluster. Não é
necessário executar nenhum outro comando para fazer upgrade dos balanceadores de carga separadamente. No entanto, ainda é
possível usar gkectl upgrade loadbalancer
abaixo para atualizar alguns parâmetros.
Para fazer upgrade/atualização do balanceador de carga separadamente, use o mesmo arquivo de configuração que você pretende usar no upgrade do cluster.
No arquivo de configuração, atualize o campo
bundlepath
e verifique se lbmode
está definido como "Bundled"
.
Se você quiser alterar as CPUs e a memória das VMs do Seesaw, forneça valores
para cpus
e memorymb
. Caso contrário, deixe esses campos em branco.
Por exemplo:
lbmode: "Bundled" bundlepath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.3.2-gke.1-full.tgz" admincluster: loadbalancerconfig: cpus: 6 memorymb: 4096
Em seguida, execute este comando para fazer upgrade do balanceador de carga:
gkectl upgrade loadbalancer --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CLUSTER_CONFIG] --name gke-admin
em que:
[ADMIN_CLUSTER_KUBECONFIG] é o arquivo kubeconfig do cluster de administrador;
[CLUSTER_CONFIG] é o arquivo de configuração do cluster que receberá upgrade.
Durante o upgrade de um balanceador de carga, haverá um tempo de inatividade. Se a alta disponibilidade estiver ativada no balanceador de carga, o tempo máximo de inatividade será de dois segundos.
Como fazer upgrade do balanceador de carga para um cluster de usuário
A partir da v1.4, os balanceadores de carga recebem upgrade durante o upgrade do cluster. Não é
necessário executar nenhum outro comando para fazer upgrade dos balanceadores de carga separadamente. No entanto, ainda é
possível usar gkectl upgrade loadbalancer
abaixo para atualizar alguns parâmetros.
Para fazer upgrade/atualizar o balanceador de carga de um cluster de usuário separadamente, siga as etapas para fazer upgrade do balanceador de carga do cluster de administrador com estas duas alterações:
No arquivo de configuração, verifique se
usercluster.clustername
está definido com o nome do cluster que você quer atualizar Por exemplo:lbmode: "Bundled" bundlepath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.3.2-gke.1-full.tgz" usercluster: clustername: "my-cluster" loadbalancerconfig: cpus: 6 memorymb: 4096
No comando
gkectl upgrade loadbalancer
, defina--name
com o nome do cluster de usuário.
Como ver registros do Seesaw
O balanceador de carga em pacote Seesaw armazena arquivos de registro nas VMs do Seesaw em
/var/log/seesaw/
. O arquivo de registro mais importante é seesaw_engine.INFO
.
Como visualizar informações sobre as VMs do Seesaw
É possível receber informações sobre as VMs do Seesaw de um cluster pelo recurso personalizado SeesawGroup.
Visualize o recurso personalizado SeesawGroup de um cluster:
kubectl --kubeconfig [CLUSTER_KUBECONFIG] get seesawgroups -n kube-system -o yaml
[CLUSTER_KUBECONFIG] é o caminho do arquivo kubeconfig do cluster.
A saída tem um campo isReady
que mostra se as VMs estão prontas para
manipular tráfego. A saída também mostra os nomes e endereços IP das VMs da
Seesaw e qual é o plano de controle:
apiVersion: seesaw.gke.io/v1alpha1 kind: SeesawGroup metadata: ... name: seesaw-for-cluster-1 namespace: kube-system ... spec: {} status: machines: - hostname: cluster-1-seesaw-1 ip: 172.16.20.18 isReady: true lastCheckTime: "2020-02-25T00:47:37Z" role: Master - hostname: cluster-1-seesaw-2 ip: 172.16.20.19 isReady: true lastCheckTime: "2020-02-25T00:47:37Z" role: Backup
Como ver métricas do Seesaw
O balanceador de carga em pacote Seesaw oferece as seguintes métricas:
- Capacidade por serviço ou nó
- Taxa de pacotes por serviço ou nó
- Conexões ativas por serviço ou nó
- Uso de CPU e memória
- Número de pods de back-end íntegros por serviço
- Qual VM é o plano de controle e qual é o backup
- Tempo de atividade
Use qualquer solução de monitoramento e painel de sua escolha, desde que seja compatível com o formato do Prometheus. Uma possibilidade é usar os complementos Prometheus e Grafana integrados ao GKE On-Prem.
Como usar os complementos integrados Prometheus e Grafana
Ative o Prometheus e o Grafana para o cluster.
A próxima etapa é criar um objeto Service e um objeto Endpoints para que o complemento Prometheus saiba sobre as VMs do Seesaw.
Salve a configuração a seguir como seesaw-metrics.yaml
. A configuração
inclui um manifesto de Service e um manifesto de Endpoints:
apiVersion: v1 kind: Service metadata: name: seesaw-metrics annotations: monitoring.gke.io/scrape: 'true' monitoring.gke.io/scheme: 'https' monitoring.gke.io/tls_config: 'seesaw-ca' spec: type: ClusterIP clusterIP: "None" ports: - name: metrics port: 20257 protocol: TCP targetPort: 20257 --- kind: Endpoints apiVersion: v1 metadata: name: seesaw-metrics subsets: - addresses: - ip: [SEESAW_VM1_IP] - ip: [SEESAW_VM2_IP] ports: - name: metrics port: 20257
em que:
- [SEESAW_VM1_IP] é o endereço IP de uma das VMs do Seesaw;
- [SEESAW_VM2_IP] é o endereço IP da outra VM do Seesaw.
Crie os objetos Service e Endpoints:
kubectl --kubeconfig [CLUSTER_KUBECONFIG] apply seesaw-metrics.yaml
Agora é possível criar painéis e gráficos do Grafana para ver as métricas.
Como excluir um balanceador de carga
Se você excluir um cluster que usa balanceamento de carga em pacote, exclua as VMs do Seesaw desse cluster. É possível fazer isso excluindo as VMs do Seesaw na interface do usuário do vSphere.
Como alternativa, execute este comando, que exclui as VMs do Seesaw e o arquivo de grupo do Seesaw:
gkectl delete loadbalance --config vsphere.yaml --seesaw-group-file [GROUP_FILE]
em que
[GROUP_FILE] é o arquivo de grupo do Seesaw. O arquivo do grupo está na estação de trabalho do administrador, ao lado de
config.yaml
. O nome do arquivo de grupo tem o formatoseesaw-for-[CLUSTER_NAME]-[IDENTIFIER].yaml
;vsphere.yaml
é um arquivo que contém as seguintes informações sobre o servidor vCenter:
vcenter: credentials: address: username: password: datacenter: cacertpath:
Solução de problemas
Como conseguir uma conexão SSH com uma VM do Seesaw
De vez em quando, será conveniente usar SSH em uma VM do Seesaw para solucionar problemas ou depurar.
Como conseguir a chave SSH
Se você já tiver criado o cluster, siga estas etapas para conseguir a chave SSH:
Consiga o secret
seesaw-ssh
do cluster. Consiga a chave SSH do secret e decodifique-a em base64. Salve a chave decodificada em um arquivo temporário:kubectl --kubeconfig [CLUSTER_KUBECONFIG] get -n kube-system secret seesaw-ssh -o \ jsonpath='{@.data.seesaw_ssh}' | base64 -d | base64 -d > /tmp/seesaw-ssh-key
em que [CLUSTER_KUBECONFIG] é o arquivo kubeconfig do cluster.
Defina as permissões apropriadas para o arquivo de chave:
chmod 0600 /tmp/seesaw-ssh-key
Se você ainda não criou o cluster, use as seguintes etapas para receber a chave SSH:
Localize o arquivo denominado
seesaw-for-[CLUSTER_NAME]-[IDENTIFIER].yaml
.O arquivo, chamado de arquivo de grupo, está ao lado de
config.yaml
.Além disso,
gkectl create loadbalancer
imprime o local do arquivo de grupo.No arquivo, consiga o valor de
credentials.ssh.privateKey
e decodifique-o em base64. Salve a chave decodificada em um arquivo temporário:cat seesaw-for-[CLUSTER_NAME]-[IDENTIFIER].yaml | grep privatekey | sed 's/ privatekey: //g' \ | base64 -d > /tmp/seesaw-ssh-key
Defina as permissões apropriadas para o arquivo de chave:
chmod 0600 /tmp/seesaw-ssh-key
Agora é possível usar SSH na VM do Seesaw:
ssh -i /tmp/seesaw-ssh-key ubuntu@[SEESAW_IP]
em que [SEESAW_IP] é o endereço IP da VM do Seesaw.
Como conseguir snapshots
É possível capturar snapshots de VMs do Seesaw usando
o comando gkectl diagnose snapshot
com a sinalização --scenario
.
Se você definir --scenario
como all
ou all-with-logs
, a saída incluirá snapshots de Seesaw
com outros snapshots.
Se você definir --scenario
como seesaw
, a saída incluirá apenas snapshots do Seesaw.
Exemplos:
gkectl diagnose snapshot --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --scenario seesaw
[ADMIN_CLUSTER_KUBECONFIG] é o arquivo kubeconfig de seu cluster de administrador.
gkectl diagnose snapshot --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --cluster-name [CLUSTER_NAME] --scenario seesaw
gkectl diagnose snapshot --seesaw-group-file [GROUP_FILE] --scenario seesaw
[GROUP_FILE] é o caminho do arquivo de grupo do cluster.
Por exemplo: seesaw-for-gke-admin-xxxxxx.yaml
.
Problemas conhecidos
Não é possível fazer upgrade do balanceador de carga da v1.3.x
Sabe-se que, se antiaffinitygroups
for desativado para um balanceador de carga Seesaw,
o upgrade do balanceador de carga da v1.3.x para v1.3.x+ falhará com o erro:
SeesawGroup atualizado inválido: SeesawConfig inválido: defina AntiAffinityGroups com o valor padrão se o usuário não fornecer nenhum.
Isso foi corrigido na v1.4 para que você possa ignorar a v1.3.x+ e fazer upgrade para a v1.4.