infracloud/k3s/roadmap_learning.md
2026-01-10 10:21:12 -06:00

3.4 KiB

Roadmap: Dominando Kubernetes (K3s)

Como você já tem dois clusters K3s ativos (Zeus e Posseidon), este roadmap é focado em prática (Hands-on). O objetivo é sair do "zero" até o deploy profissional.

🏁 Fase 1: Preparando sua Máquina (Local)

Não gerencie o cluster apenas acessando via SSH (ssh zeus). Instale as ferramentas no seu Windows/Computador para pilotar de "fora".

O que instalar agora?

  1. Kubectl: O "controle remoto" oficial.
    • Windows: winget install -e --id Kubernetes.kubectl
  2. K9s: Interface terminal "visual" (Indispensável para admins). Te economiza horas de digitação.
    • Windows: winget install -e --id Derailed.k9s
  3. Helm: Gerenciador de pacotes (o "apt/yum" do Kubernetes).
    • Windows: winget install -e --id Helm.Helm

Desafio 1: Baixe o arquivo /etc/rancher/k3s/k3s.yaml do Zeus para sua máquina (em ~/.kube/config), troque 127.0.0.1 pelo IP do Zeus e tente rodar k9s localmente.


🚀 Fase 2: O Básico deworkloads (Pod & Service)

Entenda os blocos fundamentais. Esqueça "serviços systemd", aqui tudo é objeto.

Conceitos para testar:

  1. Pod: O menor item. Crie um Nginx simples.
  2. Deployment: O gerenciador de pods (Replicas, Updates). Delete um pod e veja ele renascer "magicamente".
  3. Service (ClusterIP): O IP fixo interno para seus pods conversarem.

Desafio 2: Crie um arquivo nginx.yaml com Deployment + Service e aplique no cluster (kubectl apply -f nginx.yaml).


🌐 Fase 3: Expondo para o Mundo (Ingress & Traefik)

Seus clusters K3s já vêm com Traefik. Você não precisa instalar outro Ingress Controller.

O que estudar:

  1. Ingress Route: Como mapear meu-site.com -> Service do Nginx.
  2. Certificados: Como o Traefik lida com HTTPS (no K3s é um pouco diferente via CRDs ou Ingress padrão).

Desafio 3: Faça seu Nginx do desafio anterior responder em http://teste.rede5.com.br (apontando o DNS para o IP do Zeus).


📦 Fase 4: Persistência (Storage)

Containers são efêmeros (morrem e perdem dados). Bancos de dados precisam de disco.

Conceitos:

  1. PVC (Persistent Volume Claim): O "pedido" de disco.
  2. Storage Class: O K3s usa o local-path (salva em /var/lib/rancher/k3s/storage no node).

Desafio 4: Suba um PostgreSQL que, mesmo se você deletar o pod, os dados continuem lá quando ele voltar.


🛠️ Fase 5: Packagign com Helm

Parar de escrever YAML na mão para tudo.

O que fazer:

  1. Adicionar repositórios (Bitnami, etc).
  2. Instalar softwares complexos com 1 comando: helm install meu-redis bitnami/redis.

🤖 Fase 6: GitOps (Nível Avançado/Final)

Aqui é onde brilha. Em vez de rodar kubectl apply, você commita no Git e o cluster se atualiza sozinho.

Ferramenta recomendada: ArgoCD.

É o padrão da indústria. Ele fica monitorando seu GitHub e sincroniza o cluster.

Meta Final: Ter um repositório git com toda a infra do Zeus/Posseidon definida lá.


Resumo do Kit de Iniciante

Ferramenta Para que serve? Instalar onde?
kubectl Comandos básicos Seu PC
k3s O Cluster em si Servidor (Já tem!)
k9s Dashboard Turbo Seu PC
Traefik Porta de entrada (Reverse Proxy) Servidor (Já vem no K3s)
ArgoCD Automação de Deploy Servidor (Futuro)