RKE2: Kubernetes Reforçado e Conforme para Produção na PME

O RKE2 (Rancher Kubernetes Engine 2) é uma distribuição Kubernetes certificada pela CNCF que combina a simplicidade de instalação do K3s com foco absoluto em segurança e conformidade. Activado por defeito com CIS Benchmark e FIPS 140-2, o RKE2 é a escolha ideal para PME que precisam de cumprir requisitos regulamentares como NIS2 e RGPD sem sacrificar simplicidade operacional.

♻ O RKE2 vem com CIS Benchmark e FIPS 140-2 activados por defeito — ideal para conformidade NIS2.

Neste artigo:

1. Introdução ao RKE2

O RKE2, também conhecido como RKE Government, foi desenvolvido pela SUSE/Rancher para responder a requisitos de segurança exigidos em ambientes governamentais e regulados. Ao contrário do K3s, que optimiza para leveza e computação de borda (edge computing), o RKE2 optimiza para reforço e conformidade.

As principais características do RKE2 incluem:

  • CIS Benchmark activado por defeito — sem necessidade de configuração adicional
  • FIPS 140-2 — criptografia validada para ambientes regulados
  • Componentes em contentores, geridos pelo containerd incluído
  • etcd embutido para armazenamento consistente (ao contrário do SQLite do K3s)
  • Rede CNI com Canal (Flannel + Calico) ou Cilium como opção
  • Suporte oficial em Ubuntu, RHEL, SLES e Rocky Linux

Para uma PME que precisa de cumprir a directiva NIS2 ou o RGPD, o RKE2 oferece auditoria pronta a usar: registos de auditoria da API, políticas PodSecurity Admission (PSA) activadas, e TLS obrigatório em todos os componentes.

⚠ O RKE2 requer pelo menos 4GB de RAM por nó — mais pesado que K3s.

A documentação oficial está disponível em docs.rke2.io e o código-fonte no GitHub do Rancher.

2. Instalação em Linux

A instalação do RKE2 num nó master (server) resume-se a um único comando. O script instala o binário, configura o serviço systemd e gera o kubeconfig automaticamente.

# Instalar RKE2
curl -sfL https://get.rke2.io | sudo sh
# Activar e iniciar
sudo systemctl enable rke2-server
sudo systemctl start rke2-server
# Verificar
sudo kubectl --kubeconfig /etc/rke2/rke2.yaml get nodes

Para adicionar nós worker (agent), o processo é igualmente simples — basta indicar o tipo de instalação e configurar a ligação ao master.

# Adicionar worker
curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE=agent sudo sh
sudo systemctl enable rke2-agent
sudo systemctl start rke2-agent
# kubectl
export KUBECONFIG=/etc/rke2/rke2.yaml
kubectl get pods -A

O kubeconfig é gerado em /etc/rke2/rke2.yaml no nó master. Para gerir o cluster a partir de outras máquinas, copie este ficheiro e ajuste o endereço do servidor.

3. Configuração de Segurança

O RKE2 aplica CIS Benchmark por defeito, mas algumas configurações merecem atenção para produção:

  • PodSecurity Admission (PSA) — o perfil restricted é aplicado por defeito em todos os namespaces
  • API Server registo de auditoria — activado e escrito para /var/lib/rancher/rke2/server/logs/audit.log
  • Encriptação de segredos — encriptação em repouso activada com chave AES-CBC gerada automaticamente
  • políticas de rede — o CNI Canal inclui suporte a NetworkPolicy; todas as ligações são negadas por defeito
  • mTLS interno — todos os componentes do plano de controlo comunicam com TLS mútuo

Para activar FIPS 140-2 explicitamente, instale com a variável de ambiente apropriada:

# Instalar com FIPS 140-2
curl -sfL https://get.rke2.io | INSTALL_RKE2_CHANNEL=stable sudo sh
# Configurar perfil CIS em /etc/rancher/rke2/config.yaml
audit-policy-file: /etc/rancher/rke2/audit-policy.yaml
profile: cis-1.6

O perfil CIS pode ser cis-1.6 ou cis-1.23, consoante a versão de Kubernetes. A verificação da conformidade faz-se com a ferramenta cis-operator do Rancher.

4. Alta Disponibilidade

O RKE2 usa etcd embutido como armazenamento de dados, suportando clusters HA de 3 ou 5 nós master. Ao contrário do K3s (que suporta SQLite para Single Node ou MySQL/PostgreSQL externo para HA), o RKE2 foca-se em etcd nativo, que é o armazenamento de dados recomendado pela CNCF.

Para um cluster HA, cada nó master adicional precisa da configuração de ligação ao primeiro master:

# Config HA: /etc/rancher/rke2/config.yaml
server: https://rke2-master1:9345
token: token-partilhado

A recomendação para produção é 3 nós master (quórum etcd) com um balanceador externo à frente da API. Nós worker adicionais não participam no quórum etcd, o que isola a estabilidade do plano de controlo da carga de cargas de trabalho.

Topologia Nós Master Quórum etcd Tolerância a Falhas
Nó único 1 1 0
HA mínimo 3 2 1
HA recomendada 5 3 2

5. Integração com Rancher

O RKE2 é a distribuição nativa do ecossistema Rancher. O Rancher funciona como plataforma de gestão multi-cluster, permitindo importar clusters RKE2 existentes ou criar novos clusters directamente a partir do painel.

Os benefícios da integração incluem:

  • Gestão centralizada de múltiplos clusters RKE2/K3s/k0s num único painel
  • RBAC integrado com Active Directory, SAML ou OIDC
  • Monitoring com Prometheus/Grafana integrado via Rancher Charts
  • Cópia de segurança e restauro do estado do cluster com o operador rancher-backup
  • Actualizações automatizadas de versões Kubernetes via System Upgrade Controller

Para importar um cluster RKE2 existente no Rancher, basta aplicar o manifesto gerado no painel do Rancher:

# Aplicar manifesto de importação do Rancher
kubectl apply -f rancher-import.yaml
# Verificar registo do agente
kubectl get pods -n cattle-system

Para uma PME, esta integração permite gerir ambientes de desenvolvimento, pré-produção e produção como clusters RKE2 separados, com políticas de segurança aplicadas de forma centralizada.

6. RKE2 vs K3s vs k0s

O RKE2 partilha lógica de instalação com o K3s, mas o foco é diferente. Enquanto o K3s optimiza para edge e IoT com 512MB de RAM, e o k0s oferece um binário único sem dependências, o RKE2 prioriza segurança e conformidade.

Funcionalidade RKE2 K3s k0s
CIS Benchmark Por defeito Opcional Parcial
FIPS 140-2 Sim Não Não
Datastore etcd SQLite/MySQL etcd
RAM mínima 4GB 512MB 2GB
Foco Segurança Leveza/Edge Simplicidade
Gestão multi-cluster Rancher nativo Via Rancher k0sctl

Quando escolher RKE2: ambientes regulados, PME sujeitas a NIS2/RGPD, sectores financeiros ou saúde. Quando escolher K3s: computação de borda (edge computing), IoT, clusters de desenvolvimento. Quando escolher k0s: simplicidade máxima sem dependências, clusters isolados. Para uma introdução geral ao Kubernetes, consulte o Dia 29 do Curso de Linux.

7. Erros Comuns e Lista de Verificação

Os problemas mais frequentes com RKE2 e as respectivas soluções:

  • Nó worker não junta ao cluster — verificar /etc/rancher/rke2/config.yaml no worker com server: e token: correctos
  • etcd não forma quórum — confirmar que os 3 nós master se veem na porta 2379/2380; firewall deve permitir tráfego entre masters
  • Pods em Pending — o Canal CNI pode não estar pronto; verificar kubectl get pods -n kube-system
  • Profile CIS bloqueia cargas de trabalho — o perfil restricted proíbe contentores privilegiados; usar namespace com perfil baseline se necessário
  • certificados expiram — o RKE2 renova automaticamente, mas em clusters parados mais de 1 ano pode ser necessário forçar renovação

Lista de verificação para produção:

  • ✓ Mínimo 3 nós master com etcd HA
  • ✓ Balanceador externo para a API (HAProxy, nginx ou traefik)
  • ✓ Cópia de segurança regular do etcd (rke2 etcd snapshot save)
  • ✓ Perfil CIS definido em config.yaml
  • ✓ Registos de auditoria da API encaminhados para SIEM
  • ✓ NetworkPolicy default-deny aplicada em namespaces críticos
  • ✓ Monitorização com Prometheus/Grafana via Rancher
  • ✓ Plano de actualização testado (System Upgrade Controller)

O RKE2 oferece uma via sólida para PME que precisam de Kubernetes em produção com conformidade garantida. Com instalação simples, segurança activada por defeito e integração nativa com Rancher, é a escolha recomendada quando a prioridade é conformidade regulamentar.

Artigos Relacionados