Talos Linux Cluster - missing module

Hi Forum
I’m tryin to setup a little cluster on my turingPi2 with for 4x RK1 Cards → Buy Turing Pi 2, mini ITX cluster board - for sale - for better learn and understand kubernetes.

The plan is using talos for learning talos better
The default image are either ubuntu or talos – Turing Pi Firmware
So would like to learn talos - so trying out the talos image from the repo.

But I would like to use the attached NVME disks (only one pr node 2,3,4)
All 3 disks are Samsung Evo 940, that I somehow would like to use for storage somehow.
So found Mayastor that I’m thinking properly would do the job since I’m not interested in using as local drives. But that requires that the nvme_tcp module are loaded

So after flashing the four nodes I’m generating our configuration - with some patches:

## cilium.yaml
    cluster:
        network:
            cni:
                name: none
        proxy:
            disabled: true
    machine:
        kernel:
            modules:
                - name: rockchip-cpufreq # Module name
                - name: nvme_tcp  # Should load the module - but doesn't

## cp.yaml
    cluster:
      apiServer:
        admissionControl:
          - name: PodSecurity
            configuration:
                exemptions:
                    namespaces:
                        - mayastor
                        - services
  allowSchedulingOnControlPlanes: true 

## requirements for Mayastor
- op: add
  path: /machine/sysctls
  value:
    vm.nr_hugepages: "4096"
- op: add
  path: /machine/nodeLabels
  value:
    openebs.io/engine: mayastor  

talosctl gen config turingpi https://192.168.21.2:6443 \
–with-secrets secrets.yaml
–install-disk /dev/mmcblk0
–config-patch @config/cilium.yaml
–config-patch @patch/mayastor-patch.yaml
–config-patch-control-plane @config/cp.yaml

Applying the config and bootstrap :
talosctl apply-config --insecure -n 192.168.21.2 -f controlplane.yaml
talosctl bootstrap -n 192.168.21.2

And apply the worker configuration to the nodes
talosctl apply-config --insecure -n 192.168.21.3 -f worker.yaml
talosctl apply-config --insecure -n 192.168.21.4 -f worker.yaml
talosctl apply-config --insecure -n 192.168.21.5 -f worker.yaml

Reading the module
talosctl read /proc/modules -n 172.16.21.2
rockchip_cpufreq 16384 - - Live 0xffffc6b777dc8000
rk808_regulator 49152 - - Live 0xffffc6b777db1000
rk8xx_spi 12288 - - Live 0xffffc6b777dd8000
rk8xx_core 16384 - - Live 0xffffc6b777dcd000
rk_crypto2 24576 - - Live 0xffffc6b777dbf000
rockchip_rng 12288 - - Live 0xffffc6b777db5000
sm3_generic 12288 - - Live 0xffffc6b777dab000

But still the nvme_tcp module is missing - so how can I add the module, so I can use mayastor with the nvme disk - or am I not understanding the talos correctly, or is it at all possible to load an module into a RAW disk image.

Thansks in advance
Q

Looking to do the same thing, did you ever get Talos working this way?

Talos includes the nvme_tcp module built into the kernel itself (not modularized). Just disable the init_containers for the helm chart to get it to boot.

Hello there, any tips on how to disable init_containers?