28 Elemental #
28.1 Comum #
28.1.1 Expor o serviço Rancher #
Ao usar RKE2 ou K3s, precisamos expor serviços (Rancher neste contexto) do cluster de gerenciamento, pois eles não são expostos por padrão.
Tanto no RKE2 quanto no K3s, existe um controlador Traefik Ingress.
O fluxo de trabalho atual sugere o uso do MetalLB para anunciar um serviço (via L2 ou BGP Advertisement) e o respectivo Ingress Controller para criar um Ingress via HelmChartConfig, já que a criação de um novo objeto Ingress substituiria a configuração existente.
Instale o Rancher Prime (via Helm) e configure os valores necessários
hostname: rancher-192.168.64.101.sslip.io replicas: 1 bootstrapPassword: Admin global.cattle.psp.enabled: "false"Crie um serviço LoadBalancer para expor o Rancher
kubectl apply -f - <<EOF apiVersion: helm.cattle.io/v1 kind: HelmChartConfig metadata: name: rke2-traefik namespace: kube-system spec: valuesContent: |- ingressClass: isDefaultClass: true ports: web: hostPort: null # disallow hostPort exposedPort: 80 websecure: hostPort: null # disallow hostPort exposedPort: 443 service: enabled: true type: LoadBalancer spec: externalTrafficPolicy: Local allocateLoadBalancerNodePorts: false # k8s GA from 1.24; supported by MetalLB EOFCrie um pool de endereços IP para o serviço usando o endereço IP que configuramos anteriormente nos valores do Helm
kubectl apply -f - <<EOF apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata: name: ingress-ippool namespace: metallb-system spec: addresses: - 192.168.64.101/32 serviceAllocation: priority: 100 serviceSelectors: - matchExpressions: - {key: app.kubernetes.io/name, operator: In, values: [rke2-traefik]} EOFCrie um anúncio L2 para o pool de endereços IP
kubectl apply -f - <<EOF apiVersion: metallb.io/v1beta1 kind: L2Advertisement metadata: name: ingress-l2-adv namespace: metallb-system spec: ipAddressPools: - ingress-ippool EOFCertifique-se de que o Elemental esteja instalado corretamente
Instale o Operador Elemental e a UI do Elemental nos nós de gerenciamento
Adicione a configuração do Elemental no nó downstream junto com um código de registro, pois isso solicitará que o Edge Image Builder inclua a opção de registro remoto para a máquina.
Verifique Section 1.5, “Instale o Elemental” e Section 1.6, “Configurar Elemental” para obter informações e exemplos adicionais.
28.2 Específico de Hardware #
28.2.1 Módulo de Plataforma Confiável (TPM) #
É necessário lidar adequadamente com a configuração do Módulo de Plataforma Confiável (TPM). Não fazer isso resultará em erros semelhantes aos seguintes:
Nov 25 18:17:06 eled elemental-register[4038]: Error: registering machine: cannot generate authentication token: opening tpm for getting attestation data: TPM device not availableIsso pode ser mitigado por uma das seguintes abordagens:
Habilite o TPM nas configurações da Máquina Virtual
Exemplo com UTM no MacOS
Emule o TPM usando um valor negativo para a semente do TPM no recurso
MachineRegistration
apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
metadata:
name: ...
namespace: ...
spec:
...
elemental:
...
registration:
emulate-tpm: true
emulated-tpm-seed: -1Desabilite o TPM no recurso
MachineRegistration
apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
metadata:
name: ...
namespace: ...
spec:
...
elemental:
...
registration:
emulate-tpm: false