Manual para auxiliar na configuração de clusters utilizando RaspberryPi e/ou OrangePi.
- No Rasbperry (Desktop), edite o arquivo
/etc/dhcpcd.confconforme o exemplo abaixo:
# fallback to static profile on eth0
interface eth0
static ip_address=192.168.0.10
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
fallback static_eth0-
No Raspberry (Server), edite os seguintes arquivos:
- No arquivo
/boot/cmdline.txt, adicione as seguintes informações ao final da linhacgroup_memory=1 cgroup_enable=memory ip=ip_address::default_gateway:subnet_mask:seu_hostname:eth0:off. Ao término da edição, as informações editadas devem ficar da seguinte forma:cgroup_memory=1 cgroup_enable=memory ip=192.168.0.10::192.168.0.1:255.255.255.0:node-pi:eth0:off - No arquivo
/boot/config.txt, adicione a informaçãoarm_64bit=1ao final do arquivo - Crie um arquivo em branco
sshna pasta boot - Como administrador, aplique o comando
sudo iptables -Fe reinicie em seguida
- No arquivo
-
No OrangePi (Ubuntu Desktop/Server), edite o arquivo
/etc/network/interfacesconforme o exemplo abaixo:
#Static Ip Address
auto eth0
iface eth0 inet static
address 192.168.0.30
netmask 255.255.255.0
gateway 192.168.0.1- No Raspberry é possível alterar através do Raspberry Pi Imager durante o processo de criação da imagem
- No OrangePi, utilize o comando
hostname nome_desejadoe em seguida, acesse o arquivo em/etc/hostnamee substitua pelo mesmo nome informado no comando anterior
- Realize a instalação com o comando:
curl -sfL https://get.k3s.io | sh -- Caso opte por não adicionar o traefik na instalação, utilize o comando:
curl -sfL https://get.k3s.io | sh -s - --disable=traefik
- Caso opte por não adicionar o traefik na instalação, utilize o comando:
- Após a instalação, aguarde cerca de 30 segundos e utilize o comando:
kubectl get nodes - Para verificar todos os pods disponíveis:
kubectl get pods --all-namespaces - Para listar todas as informações disponíveis:
kubectl get all --all-namespaces - Para obter o token do server, digite o comando:
cat /var/lib/rancher/k3s/server/node-token
- Obtenha o ip do server com o comando:
ifconfig - Realize a instalação com o comando:
curl -sfL https://get.k3s.io | K3S_URL=https://server_ip:6443 K3S_TOKEN=server_token sh - - No server, utilize o comando a seguir para visualizar a atualização dos pods:
watch -n 1 kubectl get nodes - Importante: Caso queira configurar um worker no Raspberry, será necessário incluir as informações
cgroup_memory=1 cgroup_enable=memoryno arquivo/boot/cmdline.txt
- Em um server, utilize o comando:
/usr/local/bin/k3s-uninstall.sh
- Em cada worker, utilize o comando:
/usr/local/bin/k3s-agent-uninstall.sh
Realizar os comandos em um server
- Digite o comando a seguir para adicionar a imagem do NGINX:
kubectl create deployment nginx --image=nginx - Para visualizar o deployment, digite o comando:
kubectl get deploy - Expor o serviço do NGINX, com o comando:
kubectl create service nodeport nginx --tcp 80:80- Obs: o NodePort serve para fixar a porta para cada pod, no caso a porta 80
- Para escalar a quantidade de pods, subindo o número atual, digite o comando:
kubectl scale deployment --replicas=100 nginx - Após escalar o número, visualize a evolução dos pods, digite:
watch -n 1 kubectl get deployments.apps nginx - Para verificar a porta reservada para o Nginx, digite:
kubectl get svc nginx
Realizar os comandos em um worker
- Para visualizar os containers em execução, digite:
crictl ps - Para visualizar a quantidade de pods, digite:
watch -n 1 "crictl ps | grep Running | wc -l"
- Faça o download do OpenLens para o sistema operacional desejado e instale normalmente
- Após realizar a instalação do OpenLens, selecione a opção Add Cluster
- Acesse remotamente o server e em seguida digite o comando:
kubectl config view --minify --raw - Copie os dados que foram exibidos no terminal do server e cole no OpenLens
- Altere o IP 127.0.0.1:6443 para o IP do servidor onde o K3s foi instalado
- Caso seja necessário parar o server, use o comando:
/usr/local/bin/k3s-killall.sh - Para reiniciar o server:
sudo systemctl restart k3s - Para reiniciar o agent:
sudo systemctl restart k3s-agent
- Documentação do K3s
- Documentação do NGINX
- Documentação do Lens Desktop
- Vídeo do LINUXtips: MAIS DE 300 CONTAINERS NO CLUSTER KUBERNETES COM O K3S + RASPBERRYPI4