17 de abril de 20263 min de leitura

K3s em Infraestrutura On-Premise via GitOps: Automação com k0rdent

Shivani Rathod (Improwised Tech) & Prithvi Raj (CNCF Ambassador)

Cloud Native Computing Foundation

O Kubernetes completou 12 anos e consolidou-se como o "sistema operacional" das infraestruturas modernas, operando desde mainframes até ambientes de borda (Edge). Embora o ecossistema CNCF tenha evoluído drasticamente para cobrir lacunas operacionais, a gestão de clusters em ambientes on-premise ainda é um desafio crítico para muitas empresas brasileiras que buscam estabilidade sem sacrificar a flexibilidade da nuvem.

Este artigo analisa a interseção estratégica entre K3s (lightweight Kubernetes) e k0rdent para alcançar uma gestão multi-cluster declarativa. Se você opera infraestrutura local, conhece bem os gargalos: criação manual de VMs, scripts Bash legados que geram silos de conhecimento e clusters "intocáveis" que morrem após o primeiro deployment. A transição para uma abordagem declarativa, replicável e limpa é a chave para a sobrevivência operacional.

O Panorama Geral

O objetivo é claro: transformar o ambiente on-prem em uma extensão nativa da nuvem. A arquitetura proposta utiliza:

  • VM Templates Existentes: Evitando a criação constante de novas imagens.
  • k0rdent: Orquestração do ciclo de vida completo do cluster.
  • K3s: O backbone do plano de controle.

O fluxo de trabalho segue o modelo de reconciliação:

User → k0rdent

Proxmox Infrastructure (BYOT VMs)

Control Plane Provider

Bootstrap Provider (K3s)

Running Kubernetes Cluster

Por que On-Prem + k0rdent faz sentido?

O grande problema do Kubernetes on-prem é a falta de padronização. O k0rdent altera essa mentalidade ao separar as responsabilidades em três pilares: Infraestrutura (provisão de VMs), Control Plane (configuração de topologia) e Bootstrap (instalação do K3s). Essa separação permite uma integração limpa com hipervisores como Proxmox.

Passo 1: Provedor de Infraestrutura (BYOT)

O conceito de Bring Your Own Template (BYOT) é vital para a eficiência.

Visão de infraestrutura

Ao usar templates de VM pré-configuradas (com cloud-init, SSH e hardening de SO), garantimos:

  1. Agilidade no Provisionamento: Sem builds demorados no pipeline.
  2. Segurança: Governança sobre o SO gerenciada fora da camada de Kubernetes.
  3. Observability simplificada: Quando o problema reside na VM, ele é mais fácil de isolar e diagnosticar.

Passo 2: Provedor de Control Plane

Para times que buscam evitar configurações "acidentais", a via declarativa é mandatória. O Control Plane Provider assume a gestão assim que as VMs estão disponíveis, coordenando a topologia do cluster.

Fluxo do Control Plane

Passo 3: Bootstrapping com K3s

O K3s é a escolha ideal devido à sua pegada reduzida (lightweight). Abaixo, a estrutura de definição dos providers:

apiVersion: operator.cluster.x-k8s.io/v1alpha2
kind: BootstrapProvider
metadata:
  name: k3s
spec:
  version: v0.3.0
  fetchConfig:
    url: https://github.com/k3s-io/cluster-api-k3s/releases/v0.3.0/bootstrap-components.yaml

Bootstrap com K3s

O Bootstrap Provider automatiza a instalação, a geração do cluster token e a união dos nós (control plane e workers), resultando em um ambiente prontamente funcional.

O Poder da Reconciliação Contínua

Com o k0rdent, o sistema monitora constantemente o estado desejado: provisiona, verifica conectividade, injeta o bootstrap e corrige qualquer drift de configuração. O resultado para o seu time de engenharia não é apenas um cluster on-prem, mas um serviço escalável que pode ser descartado ou replicado via código.

Executar Kubernetes on-prem não é mais sinônimo de "gambiarras" ou scripts bash frágeis. Com a abordagem correta, sua infraestrutura local torna-se um cidadão de primeira classe no seu stack tecnológico.


Artigo originalmente publicado por Shivani Rathod (Improwised Tech) & Prithvi Raj (CNCF Ambassador) em Cloud Native Computing Foundation

Gostou? Compartilhe:
Precisa de ajuda?Fale com nossos especialistas 👋
Avatar Walcew - Headset