![O que Wasm precisa para chegar ao limite](https://optimuscloud.com.br/wp-content/uploads/2024/01/1706112768_O-que-Wasm-precisa-para-chegar-ao-limite-150x150.jpg)
O que Wasm precisa para chegar ao limite
24 de janeiro de 2024![Conversa real: Por que o Datadog é tão caro?](https://optimuscloud.com.br/wp-content/uploads/2024/01/Conversa-real-Por-que-o-Datadog-e-tao-caro-150x150.jpg)
Conversa real: Por que o Datadog é tão caro?
24 de janeiro de 2024Você deve ter ouvido recentemente que a Red Hat, na minha opinião, foi contra o coração e a alma do código aberto. Se você ainda não ouviu falar, basicamente é criar um acesso pago para que cada clone do RHEL não possa acessar a fonte sem pagar. Por conta disso, muitos usuários estão migrando para alternativas, como o Rocky Linux.
Mas, assim como acontece com o RHEL, o Rocky Linux usa como padrão o Podman como seu mecanismo de tempo de execução de contêiner padrão. Se você usa o Docker há anos, o Podman é uma boa opção, mas não é exatamente uma migração 1:1. E assim, se o Docker for sua ferramenta preferida de implantação de contêiner, você ficará feliz em saber que é possível não apenas instalar o Docker no Rocky Linux, mas também implantar um Docker Swarm completo na plataforma. Melhor ainda, você pode instalar o Docker no Rocky Linux sem remover o Podman, para aproveitar o melhor dos dois mundos.
Vou mostrar como fazer exatamente isso. Depois de concluído, você se sentirá em casa implantando e gerenciando contêineres Docker neste clone do Red Hat Enterprise Linux que continua a honrar o espírito do código aberto.
O que você precisará
Para implantar um Docker Swarm no Rocky Linux, você precisará de pelo menos duas instâncias em execução do sistema operacional de código aberto e um usuário com privilégios sudo. É isso. Vamos fazer isso acontecer.
Instale as dependências necessárias
A primeira coisa que faremos é instalar as dependências necessárias. Isso é feito em todas as instâncias do Rocky Linux. Faça login na primeira instância e execute o comando para as primeiras dependências assim:
sudo dnf install dnf-utils -y
Quando a instalação for concluída, você estará pronto para prosseguir com a instalação do Docker.
Instale o Docker
Novamente, isso é feito em todas as instâncias do Rocky Linux.
Adicione o repositório necessário com o comando:
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Depois de adicionar o repositório, você pode executar o comando para instalar tudo o que é necessário para o Docker Swarm. Esse comando é:
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Com o Docker instalado, você deseja iniciar e habilitar o serviço com o comando:
sudo systemctl enable --now docker
Por fim, adicione seu usuário ao grupo docker com:
sudo usermod -aG docker $USER
Saia e faça login novamente para que as alterações tenham efeito.
Abra o Firewall
Antes de implantarmos o Docker Swarm, devemos primeiro abrir algumas portas no firewall, o que é feito com os seguintes comandos (executados em todas as instâncias do Rocky Linux):
sudo firewall-cmd --add-port=2377/tcp --permanent sudo firewall-cmd --add-port=7946/tcp --permanent sudo firewall-cmd --add-port=7946/udp --permanent sudo firewall-cmd --add-port=4789/udp --permanent
Recarregue o firewall com o comando:
sudo firewall-cmd --reload
Inicialize o enxame
Com tudo isso resolvido, agora podemos inicializar o Swarm. Isso é feito na máquina que servirá como seu controlador. Você será solicitado a saber o endereço IP do seu gerenciador Swarm antes de executar este comando. Por exemplo, digamos que o endereço IP do nosso gerenciador Swarm seja 192.168.1.192. Volte para aquela máquina e emita o comando:
docker swarm init --advertise-addr 192.168.1.192
A saída do comando acima incluirá o comando que você deve executar em todos os nós Docker que ingressarão no Swarm. Esse comando ficará assim:
docker swarm join --token SWMTKN-1-42cpopou4iljvubx00z53uvj2oc9muqtjucbryrnw97smnwcwm-e4mp25qupifa19xuxzlg6ic6u 192.168.1.192:2377
Obviamente, a sequência aleatória de caracteres e o endereço IP serão diferentes para sua instância.
Copie esse comando e execute-o no primeiro nó que se juntará ao seu Swarm.
Após ingressar com sucesso no Swarm, a saída do comando incluirá:
Este nó se juntou a um enxame como trabalhador.
Testando o nó
Você pode verificar a conexão voltando ao controlador e emitindo o comando:
docker info
Na saída do comando, você deverá ver uma seção parecida com esta:
Swarm: active NodeID: iy5c7w7s6zgd8vsr22gnrl1uz Is Manager: true ClusterID: qkkabtj3db6niknzgwyph2l98 Managers: 1 Nodes: 2
Como você pode ver, o enxame está ativo e atualmente existem dois nós conectados. Você pode então adicionar mais nós executando primeiro o comando init novamente, copiando o comando na saída e executando-o no próximo nó. Cada vez que você adiciona um novo nó, você deve executar o comando init para obter um comando de junção exclusivo para o novo nó.
Outro teste simples é implantar um serviço no novo Docker Swarm. Vamos implantar um serviço NGINX simples com o comando:
docker service create --name nginx_test nginx
Esse comando deve implantar com êxito um serviço NGINX em um único nó. Se você quiser implantar o serviço em 2 nós, o comando seria:
docker service create --replicas 2 --name nginx_test nginx
Para 3 nós, o comando seria algo assim:
docker service create --replicas 3 --name nginx_test nginx
Se você já implantou o serviço de nó único, poderá escalá-lo para quantos nós precisar com um comando simples. Digamos que você tenha cinco nós unidos ao seu Swarm. Para escalar esse serviço para cinco, o comando seria:
docker service scale nginx_test=5
Parabéns, você acabou de implantar seu primeiro Docker Swarm no Rocky Linux.
A postagem Implantar um Docker Swarm no Rocky Linux apareceu pela primeira vez em The New Stack.