O Kubernetes (K8s) revolucionou a forma como gerenciamos e orquestramos contêineres. No entanto, com essa potência, vem uma complexidade considerável. É aqui que o K3s entra em cena, prometendo uma experiência Kubernetes mais simplificada e leve. Mas o que exatamente é o K3s e como ele se compara a outras soluções?
O que é o K3s?
K3s é uma distribuição altamente compacta e certificada do Kubernetes. Desenvolvido pela Rancher Labs, uma empresa de software de código aberto adquirida pela Suse em 2020, foi projetado para ser leve e fácil de instalar. Ao remover certos recursos que não são necessários para todos os projetos, como os plugins de armazenamento de dados, o K3s fornece uma experiência mais enxuta e direta do Kubernetes.
O que significa o nome K3s?
A equipe responsável pelo k3s queria uma instalação do Kubernetes com metade do tamanho em termos de consumo de memória. Kubernetes é uma palavra de 10 letras estilizada como K8s (1+8+1=10). Portanto, algo com metade do tamanho do Kubernetes seria uma palavra de 5 letras estilizada como K3s (1+3+1=5). Não existe uma forma longa de K3s e nenhuma pronúncia oficial.
K3s vs. Minikube e Kind
- Minikube: Uma ferramenta que facilita a execução do Kubernetes localmente. É ideal para aprendizado e desenvolvimento local, criando um cluster de nó único dentro de uma VM no seu laptop.
- Kind (Kubernetes in Docker): É focado em testar o próprio Kubernetes. Ele utiliza Docker para criar os clusters.
- K3s: Em comparação, o K3s é mais leve que o Minikube e pode ser instalado sem a necessidade de uma VM. Ele é versátil, perfeito para desenvolvimento, testes e até mesmo produção em pequena escala.
O que é o Rocky Linux?
Em 8 de dezembro de 2020, a Red Hat anunciou que iria descontinuar o desenvolvimento do CentOS, que é uma versão downstream pronta para produção do Red Hat Enterprise Linux, em favor de uma nova variante de desenvolvimento upstream desse sistema operacional conhecido como “CentOS Stream”. Em resposta, o fundador original do CentOS, Gregory Kurtzer, anunciou através um comentário no site do CentOS que iniciaria novamente um projeto para atingir os objetivos originais do CentOS. Seu nome foi escolhido como uma homenagem ao co-fundador do CentOS, Rocky McGaugh. Em 12 de dezembro, o repositório de código do Rocky Linux havia se tornado o repositório de tendência no GitHub.
O Rocky Linux é um sistema operacional empresarial de código aberto projetado para ser 100% bug-a-bug compatível com o Red Hat Enterprise Linux®. Está em intenso desenvolvimento pela comunidade.
Instalando o K3s no Rocky Linux
Requisitos de Hardware
Mínimo | Recomendado | |
CPU | 1 core | 2 cores |
Memória | 512 MB | 1 GB |
Requisitos de Software
Desabilite o selinux e o Firewalld.
Para desabilitar o Firewalld, execute o comando abaixo:
systemctl disable firewalld --now
Para desabilitar o SELINUX permanentemente, edite o arquivo de configurações conforme abaixo:
vi /etc/selinux/config
Altere o valor da propriedade SELINUX para disabled, conforme abaixo:
SELINUX=disabled
Em seguida, salve e feche o arquivo. Conclua o processo reiniciando a máquina virtual com o comando abaixo:
reboot
Realizando a instalação do K3s
Existem diversas formas de realizar a instalação do K3s, então, vamos instalar da forma mais simples, e customizar a instalação para não instalar o traefik kubernetes ingress, executando o comando abaixo:
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --disable traefik" sh -s -
Aguarde até a finalização da instalação.
Detalhes da Instalação
Instalar o K3s é uma experiência simplificada em comparação com a instalação padrão do Kubernetes, graças à sua natureza leve. Ao instalar o K3s, são disponibilizados alguns scripts no diretório /usr/local/bin/kubectl
que facilitam ainda mais a vida do administrador ou desenvolvedor.
Script de Encerramento e Desinstalação
k3s-killall.sh
: Este script é extremamente útil quando se deseja reiniciar completamente os serviços do K3s. Se, por algum motivo, você enfrentar problemas ou quiser reinicializar sua instalação, este script encerra todos os processos relacionados ao K3s, permitindo que você os inicie novamente com um estado fresco.- Script de Desinstalação (
k3s-uninstall.sh
): Se por acaso você decidir que não precisa mais do K3s em sua máquina ou quer começar do zero, este script vem a calhar. Ele é responsável por desinstalar completamente o K3s, removendo todos os serviços, configurações e dependências associadas ao mesmo.
Ambos os scripts são concebidos para tornar a gestão do K3s mais direta. Nesse sentido, em vez de ter que lembrar de uma série de comandos ou processos manuais, esses scripts encapsulam as ações necessárias, proporcionando uma experiência mais fluída e livre de erros.
Ao trabalhar com K3s, é aconselhável familiarizar-se com esses scripts, pois eles podem economizar muito tempo e esforço, especialmente se você estiver em um ambiente de desenvolvimento onde as reconfigurações e reinicializações são comuns.
Além dos scripts mencionados anteriormente, a instalação também traz mais algumas informações importantes que você deve conhecer. Veja abaixo.
- Localização do kubectl: O kubectl é uma das principais ferramentas para interagir com o cluster Kubernetes. Com o K3s, o binário é colocado em
/usr/local/bin/kubectl
. - Verificando o cluster: Verifique o status do seu cluster a qualquer momento usando o comando
kubectl get node
.
Gerenciando o Serviço do K3s
Veja alguns comandos essenciais para que você gerenciar o serviço.
Verificar o Status
systemctl status k3s.service
Iniciar o Serviço
systemctl start k3s.service
Reiniciar o Serviço
systemctl restart k3s.service
Parar o Serviço
systemctl stop k3s.service
Acompanhar os Logs do Serviço
journalctl -u k3s.service -f
Conclusão
O K3s surge como uma alternativa promissora para quem busca otimização e simplicidade no mundo do Kubernetes. Além disso, sua comparação com ferramentas como Minikube e Kind e sua fácil instalação no Rocky Linux o tornam um aliado valioso para desenvolvedores e profissionais de TI. Se você está buscando se aprofundar ainda mais no universo do Kubernetes, recomendo fortemente que dê uma olhada no meu curso completo disponível na Udemy. É uma oportunidade imperdível para aprimorar seus conhecimentos e se destacar no mercado. Clique aqui e conheça o curso!
Sobre o Autor
0 Comentários