O que é o K3s? Como Instalar o K3s no Rocky Linux?

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ínimoRecomendado
CPU1 core2 cores
Memória512 MB1 GB
Requisitos de Hardware para o K3s

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

  1. 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.
  2. 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

Bruno Lacerda
Bruno Lacerda

Com uma graduação em Sistemas de Informação e mais de 15 anos de experiência em diversas áreas da tecnologia, incluindo desenvolvimento de sistemas, consultoria em middleware e arquitetura de sistemas, eu me dedico a ajudar empresas do setor público e privado a superar desafios complexos em ambientes de missão crítica. Minha experiência no campo me ensinou a importância da partilha de conhecimentos, o que me levou a me tornar um instrutor na Udemy. Minha abordagem ao ensino é prática e acessível, acreditando firmemente que o conhecimento é mais útil quando aplicado. Minha paixão pela tecnologia e pelo ensino se traduz em cursos que são tanto informativos quanto envolventes, projetados para ajudar você a alcançar seus objetivos de aprendizagem e carreira. Juntos, vamos dominar novas habilidades e superar obstáculos. Estou ansioso para embarcar nesta jornada de aprendizado com você.

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Solicitar exportação de dados

Use este formulário para solicitar uma cópia de seus dados neste site.

Solicitar a remoção de dados

Use este formulário para solicitar a remoção de seus dados neste site.

Solicitar retificação de dados

Use este formulário para solicitar a retificação de seus dados neste site. Aqui você pode corrigir ou atualizar seus dados, por exemplo.

Solicitar cancelamento de inscrição

Use este formulário para solicitar a cancelamento da inscrição do seu e-mail em nossas listas de e-mail.