/Kubernetes-com-Raspberry-Pi-4

Repositorio para instalação e configuração Kubernetes no Raspberry Pi 4

Kubernetes com Raspberry-Pi 4

Tudo bom. pessoal. Eu criei esse repositório para auxiliar as pessoas que têm um ou mais Raspberry Pi e querem usar ele como Home Labe ou Servidor de testes.

Sou formado em Tecnologia da Informação e sempre estou estudando as novidades da nossa área, afinal, quem escolheu essa
profissão de T.I sabe que as tecnologias mudam muito rápido e por isso temos que estar atentos às novidades do mercado
e com isso sempre estamos estudando e aperfeiçoando o nosso conhecimento.


Chega de conversa e vamos colocar a mão na massa. :) :) :)

Utilizarei 3 Raspberry Pi com Linux Server (Ubuntu Server 24.04), kubernetes em cluster.

Link para baixar o Ubuntu Server para Raspberry Pi:
https://ubuntu.com/download/raspberry-pi


Após instalação do Ubuntu Server no cartão de memória, vocês podem estar configurando o IP fixo do Raspberry Pi no
arquivo "network-config" como exemplo abaixo:

network:
  version: 2

  ethernets:
    eth0:
      addresses: [192.168.0.201/24]
      gateway4: 192.168.0.1
      dhcp4: false
      optional: true
      nameservers:
           addresses: [192.168.0.1, 0.0.0.0]

Para conectar a esse Raspberry Pi pela rede vou utilizar a conexão por ssh.

OBS: Lembrando de conferir se a porta 22 e a conexão por autenticação esteja liberada. Vocês podem está verificando isso em /etc/ssh no arquivo ssh_config


Após essa configuração, podem inserir o cartão de memória no Raspberry Pi e conectar pelo terminal utilizando o comando ssh.


Configurando os Raspberry Pi.


Obs: Esses passos têm que ser realizados em todos os Raspberry Pi que irão fazer parte do seu Cluster.

Iremos realizar os comandos pelo terminal e com o usuário Root.
  Digite o seguinte comando para ir como Root -> sudo su e depois a senha do root.>br>

Configurando os hostname dos clusters com o seguinte comando:
hostname cluster01

Para salvar o nome no arquivo host teremos que executar o comando abaixo:
echo "cluster01" > /etc/hostname

Se você quiser confirmar se foi alterado o nome, execute esse comando -> cat /etc/hostname

Adicionar o IP do Raspberry Pi no arquivo hosts, para isso vamos usar o seguinte comando com o nano como
exemplo abaixo:
nano /etc/hosts

127.0.0.1      localhost
192.168.0.201  cluster01
   ::1 localhost
127.0.1.1      pop-os.localdomain pop-os

Obs. Se for configurar o Kubernetes em desktops, temos que desabilitar o Swap.
Como no Raspberry Pi não vem ativado. não iremos executar esse comando.
swapoff -a

Habilitando a memória que por padrão ela vem desabilitada.
nano /boot/firmware/cmdline.txt

No final da linha você irá adicionar o seguinte:
cgroup_enable=cpuset, cgroup_enable=memory, cgroup_memory=1, swapaccount=1


Também temos que instalar o Java e o Docker


Vamos criar um arquivo .json

Para isso, vamos utilizar o seguinte comando:
nano /etc/docker/daemon.json

Ele é um arquivo novo e vamos digitar os seguintes comandos:

{
   "exec-opts": ["native.cgroupdriver=systemd"],
   "log-driver": "json-file",
   "log-opts": {
         "max-size": "100m"
     },
   "storage-driver": "overlay2"
}


Não podemos esquecer de habilitar uma opção no arquivo sysctl.conf.

Para isso vamos executar o seguinte comando:
nano /etc/sysctl.conf

tem que localizar a linha que está escrito #net.ipv4.ip_forward=1 e remover o #