31 Elemental #
31.1 Comuns #
31.1.1 Expor o serviço do Rancher #
Ao usar o RKE2 ou K3s, precisamos expor os serviços (neste contexto, do
Rancher) do cluster de gerenciamento já que eles não são expostos por
padrão. No RKE2, há um controlador de entrada NGINX, enquanto o k3s usa o
Traefik. O fluxo de trabalho atual sugere o uso do MetalLB para anunciar um
serviço (anúncio por L2 ou BGP) e do respectivo controlador de entrada para
criar uma entrada usando HelmChartConfig
, já que a
criação de um novo objeto de entrada substitui a configuração existente.
Instalar o Rancher Prime (pelo Helm) e configurar os valores necessários
hostname: rancher-192.168.64.101.sslip.io replicas: 1 bootstrapPassword: Admin global.cattle.psp.enabled: "false"
Criar um serviço LoadBalancer para expor o Rancher
kubectl apply -f - <<EOF apiVersion: helm.cattle.io/v1 kind: HelmChartConfig metadata: name: rke2-ingress-nginx namespace: kube-system spec: valuesContent: |- controller: config: use-forwarded-headers: "true" enable-real-ip: "true" publishService: enabled: true service: enabled: true type: LoadBalancer externalTrafficPolicy: Local EOF
Criar um pool de endereços IP para o serviço usando o endereço IP que já configuramos 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-ingress-nginx]} EOF
Criar um anúncio por 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 EOF
Garantir que o Elemental seja devidamente instalado
Instale o operador Elemental e a respectiva IU nos nós de gerenciamento.
Adicione a configuração do Elemental ao nó downstream junto com um código de registro, pois isso solicitará que o Edge Image Builder inclua a opção de registro remoto na máquina.
Consulte a Seção 2.5, “Instalar o Elemental” e a Seção 2.6, “Configurar o Elemental” para obter informações e exemplos adicionais.
31.2 Específico do hardware #
31.2.1 Trusted Platform Module #
É necessário gerenciar de maneira apropriada a configuração do Trusted Platform Module (TPM). Se isso não for feito, haverá erros semelhantes a estes:
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 available
Para mitigá-los, siga uma das abordagens abaixo:
Habilitar o TPM nas configurações da máquina virtual
Exemplo com UTM no MacOS
Emular 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: -1
Desabilitar o TPM no recurso
MachineRegistration
apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
metadata:
name: ...
namespace: ...
spec:
...
elemental:
...
registration:
emulate-tpm: false