É preciso configurar o sistema operacional de base das máquinas de nós para usar o Google Distributed Cloud. Esta página contém as etapas necessárias para concluir a configuração necessária. Para mais informações sobre como solucionar problemas do Google Distributed Cloud, consulte os problemas conhecidos.
Antes de começar
Verifique se você está usando uma versão com suporte do seu sistema operacional e um kernel de ativação de hardware do Ubuntu (HWE, na sigla em inglês). Para uma lista de versões compatíveis, consulte Selecionar o sistema operacional.
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 check
A 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 disable
Verifique se
ufw
está desativado:sudo ufw status # Status: inactive
Configurar o Docker na estação de trabalho
O Google Distributed Cloud ajuda a instalar o Docker em máquinas bare metal nos seguintes cenários:
- Se as máquinas bare metal não tiverem o Docker instalado, o
bmctl
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,
bmctl
faz upgrade do Docker para a versão 20.10.0 ou posterior.
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 runc
Atualize seu gerenciador de pacotes:
sudo apt-get update
Instale o Docker 20.10.0+:
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common \ docker.io
Verifique se a versão atual é a 20.10.0 ou posterior:
sudo docker version
Compare sua saída com o exemplo a seguir para garantir que as versões do cliente e do servidor sejam 20.10.0+ :
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 com base em tempo, como geração de registros 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
Verifique se os limites de inotify
do kernel do Linux são iguais ou maiores que o mínimo
Em máquinas que executam o Ubuntu 22.04, os limites de inotify
do kernel do Linux
para o máximo de instâncias de usuário e de relógios de usuário precisam ser maiores ou iguais
a:
fs.inotify.max_user_instances
:8192
fs.inotify.max_user_watches
:524288
Para garantir que esses valores sejam definidos corretamente nas máquinas de nós:
Verifique o valor de
max_user_instances
:cat /proc/sys/fs/inotify/max_user_instances
Se necessário, atualize
max_user_instances
para o valor mínimo:echo 'fs.inotify.max_user_instances=8192' | sudo tee --append /etc/sysctl.conf
Verifique o valor de
max_user_watches
:cat /proc/sys/fs/inotify/max_user_watches
Se necessário, atualize
max_user_watches
para o valor mínimo:echo 'fs.inotify.max_user_watches=524288' | sudo tee --append /etc/sysctl.conf
Se você atualizou algum valor, reinicialize a máquina.