documentation.suse.com / Documentación de SUSE Edge / Consejos y trucos / Elemental

31 Elemental

31.1 Comunes

31.1.1 Exposición del servicio Rancher

Cuando se utiliza RKE2 o K3s, es necesario exponer los servicios (Rancher en este contexto) desde el clúster de gestión, ya que no están expuestos de forma predeterminada. En RKE2, hay un controlador Ingress NGINX, y en k3s utiliza Traefik. El flujo de trabajo actual sugiere utilizar MetalLB para anunciar un servicio (con el modo L2 o con BGP) y el controlador de Ingress correspondiente para crear un objeto Ingress a través de HelmChartConfig, ya que la creación de un nuevo objeto Ingress anularía la configuración existente.

  1. Instale Rancher Prime (mediante Helm) y configure los valores necesarios.

    hostname: rancher-192.168.64.101.sslip.io
    replicas: 1
    bootstrapPassword: Admin
    global.cattle.psp.enabled: "false"
    Sugerencia
    Sugerencia

    Siga las instrucciones para la instalación de Rancher de la documentación para obtener más detalles.

  2. Cree un servicio LoadBalancer para exponer 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
  3. Cree un pool de direcciones IP para el servicio utilizando la dirección IP que hemos configurado 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-ingress-nginx]}
    EOF
  4. Crear un anuncio L2 para el pool 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
    EOF
  5. Asegúrese de que Elemental se ha instalado correctamente.

    1. Instale el operador de Elemental y la interfaz del usuario de Elemental en los nodos de gestión.

    2. Añada la configuración de Elemental en el nodo descendente junto con un código de registro, ya que eso hará que Edge Image Builder incluya la opción de registro remoto para el equipo.

Sugerencia
Sugerencia

Consulte la Sección 2.5, “Instalación de Elemental” y la Sección 2.6, “Configuración de Elemental” para obtener información adicional y ejemplos.

31.2 Específicos del hardware

31.2.1 Trusted Platform Module

Es necesario gestionar correctamente la configuración del módulo de plataforma segura Trusted Platform Module (TPM). Si no se hace, se producirán errores como este:

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

Esto se puede mitigar con uno de estos enfoques:

  • Habilite TPM en la configuración de la máquina virtual

Ejemplo con UTM en MacOS

TPM
  • Emule TPM utilizando un valor negativo para la semilla de TPM en el recurso MachineRegistration.

apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
metadata:
  name: ...
  namespace: ...
spec:
    ...
    elemental:
      ...
      registration:
        emulate-tpm: true
        emulated-tpm-seed: -1
  • Inhabilite TPM en el recurso MachineRegistration.

apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
metadata:
  name: ...
  namespace: ...
spec:
    ...
    elemental:
      ...
      registration:
        emulate-tpm: false
Documentation survey