|Index|SUSE Edge ドキュメント|ヒントとトラブルシューティング|Elemental
Applies to SUSE Edge 3.6

28 Elemental

28.1 Common(通常のネットワーキング)

28.1.1 Rancherサービスを公開する

RKE2またはK3sを使用する場合、管理クラスターからのサービス(このコンテキストではRancher)はデフォルトでは公開されないため、公開する必要があります。 RKE2とK3sの両方にTraefik Ingressコントローラーがあります。 現在のワークフローでは、サービスをアナウンスするためにMetalLB(L2またはBGPアドバタイズメント経由)を使用し、それぞれのIngressコントローラーを使用して`HelmChartConfig`経由でIngressを作成することが推奨されています。新しいIngressオブジェクトを作成すると、既存のセットアップが上書きされるためです。

  1. Rancher Primeを(Helm経由で)インストールし、必要な値を構成します

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

    詳細については、 Rancherインストールドキュメントに従ってください。

  2. Rancherを公開するためにLoadBalancerサービスを作成します

    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
    EOF
  3. Helmの値で以前セットアップしたIPアドレスを使用して、サービス用のIPアドレスプールを作成します。

    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]}
    EOF
  4. IPアドレスプール用のL2アドバタイズメントを作成します。

    kubectl apply -f - <<EOF
    apiVersion: metallb.io/v1beta1
    kind: L2Advertisement
    metadata:
      name: ingress-l2-adv
      namespace: metallb-system
    spec:
      ipAddressPools:
      - ingress-ippool
    EOF
  5. Elementalが正しくインストールされていることを確認します。

    1. 管理ノードにElementalオペレーターとElemental UIをインストールします。

    2. ダウンストリームノードにElemental設定と登録コードを追加します。これにより、Edge Image Builderがそのマシンにリモート登録オプションを含めるようになります。

Tip
Tip

詳細情報や例については、[install-elemental]および[configure-elemental]を確認してください。

28.2 ハードウェア固有

28.2.1 Trusted Platform Module

Trusted Platform Module(TPM)構成を適切に処理する必要があります。 そうしないと、以下のようなエラーが発生します。

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

これは、次のいずれかのアプローチで軽減できます。

  • 仮想マシンの設定でTPMを有効にする

MacOSでUTMを使用した例

TPM
  • `MachineRegistration`リソースでTPMシードに負の値を指定してTPMをエミュレートします

apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
metadata:
  name: ...
  namespace: ...
spec:
    ...
    elemental:
      ...
      registration:
        emulate-tpm: true
        emulated-tpm-seed: -1
  • `MachineRegistration`リソースでTPMを無効にします

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