Para usar o Google Distributed Cloud, é necessário configurar o sistema operacional Ubuntu de base nas máquinas de nó. A configuração dos gerenciadores de pacotes, parâmetros de kernel e serviços do sistema necessários prepara os nós para a implantação do cluster. Para resolver problemas com os requisitos do Google Distributed Cloud, consulte os problemas conhecidos.
Antes de começar
Verifique se você está usando uma versão compatível do seu sistema operacional e um kernel de ativação de hardware do Ubuntu (HWE, na sigla em inglês). Para acessar uma lista de versões compatíveis, consulte Selecione seu sistema operacional.
Ativar cgroupsv2
O Google Distributed Cloud somente software para bare metal versão 1.35 e mais recentes exige o
cgroupsv2. Seu sistema operacional precisa ser compatível com cgroupsv2 para fazer upgrade ou
criar clusters.
O Google Distributed Cloud impede a criação ou o upgrade de clusters se cgroupsv1 for detectado durante as verificações de simulação. Para instruções sobre como migrar seu sistema operacional para o cgroupsv2, consulte Como migrar para o cgroup v2 na documentação do Kubernetes.
Ativar o compilador Just in Time do BPF
O kernel do sistema operacional precisa ter a opção do compilador Just In Time
BPF ativada (CONFIG_BPF_JIT=y).
Para saber se essa opção está ativada, execute o seguinte comando:
grep CONFIG_BPF_JIT /boot/config-$(uname -r)
Validar o gerenciador de pacotes
Use o seguinte comando para validar se o gerenciador de pacotes está funcionando corretamente:
sudo apt-get checkA resposta não mostrará erros e será semelhante ao exemplo a seguir:
# Reading package lists... Done # Building dependency tree # Reading state information... Done
Desativar Uncomplicated Firewall (UFW)
Desative
ufw:sudo ufw disableVerifique se
ufwestá desativado:sudo ufw status # Status: inactive
Configurar o Docker na estação de trabalho
O Google Distributed Cloud ajuda a instalar o Docker nas suas máquinas bare metal nos seguintes cenários:
- Se as máquinas bare metal não tiverem o Docker instalado, o
bmctlvai instalar a versão 20.10.0 ou mais recente. - Se as máquinas bare metal tiverem o Docker 19.03.5 ou anterior instalado, o
bmctlvai fazer upgrade do Docker para a versão 20.10.0 ou mais recente.
Siga estas etapas para instalar o Docker manualmente:
Remova qualquer versão anterior do Docker:
sudo apt-get remove docker docker-engine docker.io containerd runcAtualize seu gerenciador de pacotes:
sudo apt-get updateInstale o Docker 20.10.0 ou posterior:
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common \ docker.ioVerifique se você está usando a versão 20.10.0 ou posterior:
sudo docker versionCompare o resultado com o exemplo a seguir para garantir que as versões do cliente e do servidor sejam 20.10.0 ou posterior :
Client: Docker Engine - Community Version: 25.0.3 ... Server: Docker Engine - Community Engine: Version: 25.0.3
Configurar a sincronização de horário
A sincronização de tempo consiste em definir os relógios nas máquinas de nós, usando uma
referência de hora externa designada. A sincronização de tempo é importante para atividades de cluster sensíveis ao tempo, como log de eventos e coleta de métricas.
O kernel da máquina de nó controla o relógio nos contêineres executados no nó. Para garantir a sincronização de tempo adequada, instale um serviço
Network Time Protocol (NTP) nas máquinas usando qualquer um dos serviços disponíveis:
chrony, systemd-timesyncd,
ntp ou ntpdate. Execute timedatectl para verificar se o relógio do sistema está
sincronizado. A saída de timedatectl precisa conter o status a seguir:
System clock synchronized: yes
Confira se os limites inotify do kernel do Linux são iguais ou maiores que o mínimo
Para máquinas com Ubuntu 22.04, os limites de inotify do kernel do Linux
para instâncias de usuário máximas e monitoramentos de usuário precisam ser maiores ou iguais a
este:
fs.inotify.max_user_instances:8192fs.inotify.max_user_watches:524288
Para garantir que esses valores estejam definidos corretamente nas máquinas de nó:
Verifique o valor de
max_user_instances:cat /proc/sys/fs/inotify/max_user_instancesSe necessário, atualize
max_user_instancespara o valor mínimo:echo 'fs.inotify.max_user_instances=8192' | sudo tee --append /etc/sysctl.confVerifique o valor de
max_user_watches:cat /proc/sys/fs/inotify/max_user_watchesSe necessário, atualize
max_user_watchespara o valor mínimo:echo 'fs.inotify.max_user_watches=524288' | sudo tee --append /etc/sysctl.confSe você tiver atualizado um dos valores, reinicie a máquina.