28 Elemental #
28.1 Común #
28.1.1 Exponer el servicio de Rancher #
Al utilizar RKE2 o K3s, necesitamos exponer los servicios (Rancher en este contexto) desde el clúster de gestión, ya que no se exponen de forma predeterminada.
Tanto en RKE2 como en k3s existe un controlador Traefik Ingress.
El flujo de trabajo actual sugiere utilizar MetalLB para anunciar un servicio (mediante L2 o BGP Advertisement) y el Ingress Controller respectivo para crear un Ingress mediante HelmChartConfig, ya que crear un nuevo objeto Ingress sobrescribiría la configuración existente.
Instalar Rancher Prime (mediante Helm) y configurar los valores necesarios
hostname: rancher-192.168.64.101.sslip.io replicas: 1 bootstrapPassword: Admin global.cattle.psp.enabled: "false"Crear un servicio LoadBalancer para exponer 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 EOFCrear un grupo de direcciones IP para el servicio utilizando la dirección IP que configuramos anteriormente en los valores de 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]} EOFCrear un anuncio L2 para el grupo de direcciones IP
kubectl apply -f - <<EOF apiVersion: metallb.io/v1beta1 kind: L2Advertisement metadata: name: ingress-l2-adv namespace: metallb-system spec: ipAddressPools: - ingress-ippool EOFAsegurarse de que Elemental esté instalado correctamente
Instalar el operador de Elemental y la interfaz de usuario de Elemental en los nodos de gestión
Añadir la configuración de Elemental en el nodo de sentido descendente junto con un código de registro, ya que eso hará que Edge Image Builder incluya la opción de registro remoto para la máquina.
Consulte Section 1.5, “Instalar Elemental” y Section 1.6, “Configurad Elemental” para obtener información y ejemplos adicionales.
28.2 Específico del hardware #
28.2.1 Módulo de plataforma de confianza (TPM) #
Es necesario gestionar correctamente la configuración del Módulo de plataforma de confianza (TPM). Si no se hace, se producirán errores similares a los siguientes:
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 availableEsto puede mitigarse mediante uno de los siguientes enfoques:
Habilitar TPM en la configuración de la máquina virtual
Ejemplo con UTM en MacOS
Emular TPM utilizando un valor negativo para la semilla TPM en el recurso
MachineRegistration
apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
metadata:
name: ...
namespace: ...
spec:
...
elemental:
...
registration:
emulate-tpm: true
emulated-tpm-seed: -1Deshabilitar TPM en el recurso
MachineRegistration
apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
metadata:
name: ...
namespace: ...
spec:
...
elemental:
...
registration:
emulate-tpm: false