Pré-requisitos da estação de trabalho de administrador

A estação de trabalho do administrador aloja ferramentas de interface de linhas de comando (CLI) e ficheiros de configuração para aprovisionar clusters durante a instalação, bem como ferramentas de CLI para interagir com clusters aprovisionados após a instalação.

Esta página destina-se a administradores, arquitetos e operadores que configuram, monitorizam e gerem o ciclo de vida da infraestrutura tecnológica subjacente. Para saber mais sobre as funções comuns e as tarefas de exemplo que referimos no Google Cloud conteúdo, consulte Funções e tarefas comuns de utilizador do GKE.

Transfere e executa ferramentas, como bmctl e a CLI do Google Cloud, na estação de trabalho do administrador para interagir com clusters e recursos Google Cloud . A estação de trabalho do administrador aloja ficheiros de configuração para aprovisionar clusters durante a instalação, as atualizações e as atualizações. Após a instalação, a estação de trabalho do administrador aloja ficheiros kubeconfig para que possa usar o kubectl para interagir com clusters aprovisionados. Também acede aos registos de operações de cluster críticas na estação de trabalho de administrador. Pode usar uma única estação de trabalho de administração para criar e gerir muitos clusters.

Certifique-se de que a estação de trabalho do administrador cumpre os pré-requisitos descritos nas secções seguintes.

Sistema operativo e software

Para executar o bmctl e funcionar como um nó do plano de controlo, a estação de trabalho do administrador tem os mesmos requisitos do sistema operativo (SO) que os nós. A estação de trabalho do administrador requer o Docker, mas não para utilização como tempo de execução de contentores. Quando o Google Distributed Cloud cria clusters, implementa um cluster Kubernetes in Docker (kind) na estação de trabalho de administração. Este cluster de bootstrap aloja os controladores do Kubernetes necessários para criar clusters. Salvo indicação em contrário, o conjunto de arranque é removido quando a criação do conjunto é concluída com êxito. O cluster de arranque requer o Docker para extrair imagens de contentores.

A estação de trabalho do administrador tem de cumprir os seguintes requisitos antes de poder instalar um cluster:

  • O sistema operativo é uma distribuição Linux compatível.

    Para ver uma lista dos SOs e das versões do Linux suportados, consulte a secção Selecione o seu sistema operativo. Essa página tem links para instruções de configuração, incluindo a configuração do Docker, para cada sistema operativo.

  • A versão 19.03 ou posterior do Docker está instalada. No entanto, se o seu sistema usar o cgroup v2, a instalação do Docker na estação de trabalho de administração tem de ser a versão 20.10.0 ou superior. (Pode saber se o seu sistema usa o cgroup v2 pela presença do ficheiro /sys/fs/cgroup/cgroup.controllers).

  • O utilizador não root é membro do grupo docker (para obter instruções, aceda a Gerir o Docker como utilizador não root).

  • A CLI do Google Cloud está instalada.

    Usa as ferramentas kubectl e bmctl para criar e gerir clusters. Para instalar estas ferramentas, precisa da ferramenta gcloud. As ferramentas de linhas de comando gcloud e kubectl são componentes da CLI gcloud. Para ver instruções de instalação, incluindo instruções para instalar componentes, consulte o artigo Instale a CLI gcloud.

  • O idioma kubectl está instalado. Use a CLI gcloud para instalar o kubectl com o seguinte comando:

    gcloud components install kubectl
    
  • bmctl está instalado para a versão do cluster que está a criar ou a operar.

    A instalação consiste em usar o gcloud para transferir o pacote binário ou de imagens bmctl. Para ver instruções, consulte o artigo Transferências do Google Distributed Cloud para Bare Metal.

Requisitos de recursos de hardware

A estação de trabalho do administrador requer uma capacidade de computação, memória e armazenamento significativas para executar ferramentas e armazenar os recursos associados à criação e gestão de clusters.

Por predefinição, as operações de atualização e criação de clusters usam um cluster de arranque. Quando é usado um cluster de arranque, há um aumento significativo na utilização da CPU e da memória. Se pretender usar a estação de trabalho de administrador como um nó do plano de controlo, use, pelo menos, a quantidade recomendada mais elevada de CPUs e RAM para evitar que as atividades da estação de trabalho de administrador interrompam as funções do plano de controlo do cluster.

Consoante o tamanho da base de dados etcd e o número de nós do plano de controlo, as operações de cópia de segurança e restauro do cluster consomem uma quantidade significativa de RAM. A estimativa aproximada da RAM necessária para as cópias de segurança é de 3 a 5 GiB por nó do plano de controlo. O processo de cópia de segurança falha porque não existe memória suficiente. Planeie os requisitos de RAM em conformidade.

A tabela seguinte apresenta os requisitos mínimos e recomendados de hardware para a estação de trabalho do administrador:

Recurso Mínimo Recomendado
CPUs / vCPUs* 2 núcleos 4 núcleos
RAM Ubuntu: 4 GiB

RHEL: 6 GiB

Ubuntu: 8 GiB

RHEL: 12 GiB

Armazenamento 128 GiB 256 GiB

* O Google Distributed Cloud suporta apenas CPUs e vCPUs x86-64 ao nível da microarquitetura de CPU v3 (x86-64-v3) e superior.

Requisitos de rede

A estação de trabalho do administrador precisa de acesso a Google Cloud e a todos os nós do cluster.

Acesso a Google Cloud

A estação de trabalho do administrador acede Google Cloud para transferir e instalar ferramentas e imagens, processar pedidos de autorização, criar contas de serviço, gerir o registo e a monitorização, entre outras ações. Não pode criar clusters sem acesso a Google Cloud.

O acesso ao Google Cloud pode ser direto ou através de um servidor proxy. Para obter informações sobre diferentes formas de se ligar ao Google Cloud, consulte Ligue-se ao Google. Para ver informações sobre a configuração de um servidor proxy, consulte Instale através de um proxy.

Para informações sobre as consequências da interrupção do acesso ao Google Cloud, consulte o artigo Impacto da desativação temporária do Google Cloud.

Acesso a nós

Para criar e gerir clusters a partir da sua estação de trabalho de administrador, precisa do seguinte acesso às máquinas de nós:

  • Conetividade da camada 3 a todas as máquinas de nós do cluster.
  • Acesso SSH sem palavra-passe a todas as máquinas de nós do cluster como root ou como um utilizador não root com privilégios sudo sem palavra-passe. Este nível elevado de autorizações é necessário para as ferramentas de automatização realizarem tarefas ao nível do nó que aprovisionam os nós durante a instalação do cluster.

  • Acesso ao VIP do plano de controlo.

Encaminhamento de IP

O encaminhamento de IP tem de estar ativado na estação de trabalho de administração. Sem o encaminhamento de IP, não é possível criar o cluster de arranque, o que impede a criação do cluster. Se o encaminhamento de IP estiver desativado, é apresentado um erro semelhante ao seguinte quando tenta criar um cluster:

Error message: E0202 14:53:25.979322 225917 console.go:110] Error creating cluster: create kind cluster failed: error creating bootstrap cluster: failed to init node with kubeadm: command "docker exec --privileged bmctl-control-plane kubeadm init --skip-phases=preflight --config=/kind/kubeadm.conf --skip-token-print --v=6" failed with error: exit status 1

Pode verificar a definição de encaminhamento de IP com o seguinte comando:

cat /proc/sys/net/ipv4/ip_forward

Um valor de 1 indica que o encaminhamento de IP está ativado. Se o encaminhamento de IP estiver desativado (0), use o seguinte comando para o ativar:

echo '1' | sudo tee /proc/sys/net/ipv4/ip_forward

Configure o acesso SSH de root aos nós

Para ativar ligações seguras sem palavra-passe entre a estação de trabalho do administrador e as máquinas dos nós do cluster, crie uma chave SSH na estação de trabalho do administrador e partilhe a chave pública com os nós do cluster.

  1. Ative a autenticação de palavra-passe SSH em cada máquina de nó do cluster descomentando ou adicionando as linhas PermitRootLogin e PasswordAuthentication no ficheiro /etc/ssh/sshd_config e definindo os valores como yes.root

    # $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
    
    # This is the sshd server system-wide configuration file.  See
    # sshd_config(5) for more information.
    
    ...
    
    # Authentication:
    
    #LoginGraceTime 2m
    PermitRootLogin yes
    #StrictModes yes
    #MaxAuthTries 6
    #MaxSessions 10
    
    ...
    
    PasswordAuthentication yes
    

    Inicialmente, precisa de ter a autenticação por palavra-passe SSH ativada nas máquinas dos nós do cluster remoto para partilhar chaves a partir da estação de trabalho do administrador.

  2. Para aplicar as alterações de configuração do SSH, reinicie o serviço SSH:

    sudo systemctl restart ssh.service
    
  3. Gere um par de chaves privadas e públicas na estação de trabalho do administrador. Não defina uma frase secreta para as chaves. Gere as chaves com o seguinte comando:

    ssh-keygen -t rsa
    

    Também pode usar o acesso de utilizador sudo às máquinas de nós do cluster para configurar o SSH. No entanto, para ligações de utilizadores sem acesso de raiz, tem de atualizar o ficheiro de configuração do cluster com o campo spec.nodeAccess.loginUser. Este campo está comentado por predefinição. Pode especificar o seu nome de utilizador não raiz com loginUser durante a criação do cluster ou em qualquer altura após a criação. Para mais informações, consulte loginUser.

  4. Adicione a chave pública gerada às máquinas dos nós do cluster:

    ssh-copy-id -i PATH_TO_IDENTITY_FILE root@CLUSTER_NODE_IP
    

    Substitua o seguinte:

    • PATH_TO_IDENTITY_FILE: o caminho para o ficheiro que contém a chave pública de SSH. Por predefinição, o caminho para o ficheiro de identidade que contém a chave pública é /home/USERNAME/.ssh/id_rsa.pub.
    • CLUSTER_NODE_IP: o endereço IP da máquina do nó à qual está a adicionar a chave pública de SSH.
  5. Desative a autenticação por palavra-passe SSH nas máquinas de nós do cluster definindo PasswordAuthentication como no no ficheiro sshd_config e reiniciando o serviço SSH.

  6. Use o seguinte comando na estação de trabalho do administrador para verificar se a autenticação de chave pública funciona entre a estação de trabalho e as máquinas de nós.

    ssh -o IdentitiesOnly=yes -i PATH_TO_IDENTITY_FILE root@CLUSTER_NODE_IP
    

    Quando o SSH está configurado corretamente, pode iniciar sessão na máquina do nó a partir da estação de trabalho de administração (como root) sem ter de introduzir uma palavra-passe.

O que se segue?