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.
Neste artigo:
- 1. Introdução ao RKE2
- 2. Instalação em Linux
- 3. Configuração de Segurança
- 4. Alta Disponibilidade
- 5. Integração com Rancher
- 6. RKE2 vs K3s vs k0s
- 7. Erros Comuns e Lista de Verificação
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
containerdincluí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.
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.yamlno worker comserver:etoken: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.