16 RKE2 #
Consulte a documentação oficial do RKE2.
O RKE2 é uma distribuição Kubernetes totalmente compatível dedicada à segurança e à conformidade das seguintes maneiras:
Oferecendo padrões e opções de configuração para que os clusters sejam aprovados no CIS Kubernetes Benchmark v1.6 ou v1.23 com o mínimo de intervenção do operador
Assegurando a conformidade com o FIPS 140-2
Verificando regularmente se há CVEs nos componentes por meio do trivy no pipeline de compilação do RKE2
O RKE2 inicia os componentes do plano de controle como pods estáticos, gerenciados pelo kubelet. O runtime de contêiner incorporado é containerd.
Nota: O RKE2 também é conhecido como RKE Government para expressar outro caso de uso e setor a que ele atende.
16.1 RKE2 ou K3s #
O K3s é uma distribuição Kubernetes leve e totalmente compatível, com foco em borda, IoT e ARM, otimizado para facilidade de uso e ambientes com restrição de recursos.
O RKE2 combina o melhor dos dois mundos: a versão 1.x do RKE (daqui em diante chamada de RKE1) e o K3s.
Do K3s, ele herda a usabilidade, a facilidade de operação e o modelo de implantação.
Do RKE1, ele herda o alinhamento próximo com o Kubernetes upstream. Em alguns locais, o K3s diverge do Kubernetes upstream para otimizar as implantações de borda, mas o RKE1 e o RKE2 mantêm um estreito alinhamento com o upstream.
16.2 Como o SUSE Edge usa o RKE2? #
O RKE2 é um componente fundamental da pilha do SUSE Edge. Ele coexiste com o SUSE Linux Micro (Capítulo 9, SUSE Linux Micro), oferecendo a interface padrão do Kubernetes necessária para implantar cargas de trabalho do Edge.
16.3 Melhores práticas #
16.3.1 Instalação #
A maneira recomendada de instalar o RKE2 como parte da pilha do SUSE Edge é usar o Edge Image Builder (EIB). Consulte a documentação do EIB (Capítulo 11, Edge Image Builder) para obter mais detalhes de como configurá-lo para implantar o RKE2.
O EIB é flexível o suficiente para dar suporte aos parâmetros exigidos pelo RKE2, como especificar a versão do RKE2, a configuração de servidores ou de agentes, englobando todos os casos de uso do Edge.
Para outros casos de uso envolvendo o Metal3, o RKE2 também é usado e instalado. Nesses casos específicos, o provedor Cluster API RKE2 implanta automaticamente o RKE2 nos clusters que são provisionados com o Metal3 usando a pilha do Edge.
Nesses casos, a configuração do RKE2 deve ser aplicada às diversas CRDs
envolvidas. Um exemplo de como fornecer uma CNI diferente usando a CRD
RKE2ControlPlane
tem esta aparência:
apiVersion: controlplane.cluster.x-k8s.io/v1beta1
kind: RKE2ControlPlane
metadata:
name: single-node-cluster
namespace: default
spec:
serverConfig:
cni: calico
cniMultusEnable: true
...
Para obter mais informações sobre os casos de uso do Metal3, consulte o Capítulo 10, Metal3.
16.3.2 Alta disponibilidade #
Para implantações de alta disponibilidade, o EIB implanta e configura automaticamente o MetalLB (Capítulo 19, MetalLB) e o Endpoint Copier Operator (Capítulo 20, Endpoint Copier Operator) para expor o endpoint da API do RKE2 externamente.
16.3.3 Rede #
A pilha do SUSE Edge suporta o Cilium e o Calico, com o Cilium como CNI padrão. O metaplug-in Multus também pode ser usado quando os pods exigem várias interfaces de rede. O RKE2 independente oferece suporte a uma ampla gama de opções de CNI.
16.3.4 Armazenamento #
O RKE2 não inclui nenhum tipo de classe ou operador de armazenamento persistente. Para clusters com vários nós, é recomendado usar o SUSE Storage (Capítulo 17, SUSE Storage).