K3s software requirements

Hi,

we are planning to integrate k3s in our custom hardware which is running a yocto linux.

I already run the check-config script and everything looks fine:

~# k3s check-config

Verifying binaries in /var/lib/rancher/k3s/data/8011f49500ebc684b93002b5cd24ec03c4ca28a52ec274cd5f35e8077d5a08a7/bin:
- sha256sum: good
- links: good

System:
- /usr/sbin iptables v1.6.2: older than v1.8
- swap: disabled
- routes: ok

Limits:
- /proc/sys/kernel/keys/root_maxkeys: 1000000

modprobe: module configs not found in modules.dep
info: reading kernel config from /proc/config.gz ...

Generally Necessary:
- cgroup hierarchy: properly mounted [/sys/fs/cgroup]
- CONFIG_NAMESPACES: enabled
- CONFIG_NET_NS: enabled
- CONFIG_PID_NS: enabled
- CONFIG_IPC_NS: enabled
- CONFIG_UTS_NS: enabled
- CONFIG_CGROUPS: enabled
- CONFIG_CGROUP_CPUACCT: enabled
- CONFIG_CGROUP_DEVICE: enabled
- CONFIG_CGROUP_FREEZER: enabled
- CONFIG_CGROUP_SCHED: enabled
- CONFIG_CPUSETS: enabled
- CONFIG_MEMCG: enabled
- CONFIG_KEYS: enabled
- CONFIG_VETH: enabled (as module)
- CONFIG_BRIDGE: enabled (as module)
- CONFIG_BRIDGE_NETFILTER: enabled (as module)
- CONFIG_NF_NAT_IPV4: enabled (as module)
- CONFIG_IP_NF_FILTER: enabled (as module)
- CONFIG_IP_NF_TARGET_MASQUERADE: enabled (as module)
- CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled
- CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled
- CONFIG_NETFILTER_XT_MATCH_IPVS: enabled
- CONFIG_IP_NF_NAT: enabled (as module)
- CONFIG_NF_NAT: enabled (as module)
- CONFIG_NF_NAT_NEEDED: enabled
- CONFIG_POSIX_MQUEUE: enabled

Optional Features:
- CONFIG_USER_NS: enabled
- CONFIG_SECCOMP: enabled
- CONFIG_CGROUP_PIDS: enabled
- CONFIG_BLK_CGROUP: enabled
- CONFIG_BLK_DEV_THROTTLING: enabled
- CONFIG_CGROUP_PERF: enabled
- CONFIG_CGROUP_HUGETLB: enabled
- CONFIG_NET_CLS_CGROUP: enabled
- CONFIG_CGROUP_NET_PRIO: enabled
- CONFIG_CFS_BANDWIDTH: enabled
- CONFIG_FAIR_GROUP_SCHED: enabled
- CONFIG_RT_GROUP_SCHED: enabled
- CONFIG_IP_NF_TARGET_REDIRECT: enabled (as module)
- CONFIG_IP_SET: enabled
- CONFIG_IP_VS: enabled
- CONFIG_IP_VS_NFCT: enabled
- CONFIG_IP_VS_PROTO_TCP: enabled
- CONFIG_IP_VS_PROTO_UDP: enabled
- CONFIG_IP_VS_RR: enabled
- CONFIG_EXT4_FS: enabled
- CONFIG_EXT4_FS_POSIX_ACL: enabled
- CONFIG_EXT4_FS_SECURITY: enabled
- Network Drivers:
  - "overlay":
    - CONFIG_VXLAN: enabled
      Optional (for encrypted networks):
      - CONFIG_CRYPTO: enabled
      - CONFIG_CRYPTO_AEAD: enabled
      - CONFIG_CRYPTO_GCM: enabled
      - CONFIG_CRYPTO_SEQIV: enabled
      - CONFIG_CRYPTO_GHASH: enabled
      - CONFIG_XFRM: enabled
      - CONFIG_XFRM_USER: enabled
      - CONFIG_XFRM_ALGO: enabled
      - CONFIG_INET_ESP: enabled
      - CONFIG_INET_XFRM_MODE_TRANSPORT: enabled
- Storage Drivers:
  - "overlay":
    - CONFIG_OVERLAY_FS: enabled (as module)

STATUS: pass

Are there any other requirements to run k3s server successfully? What software packages are expected in user space?

Thanks in advance and best regards
Ruben

One of the design goals of k3s is to bring its own user space software packages. You should in theory be good, but the things we need are the things packaged and built by this project: https://github.com/rancher/k3s-root

Just to understand correctly: The things from k3s-root are packaged with k3s and installed when I run the install script?
Or should they be provided by OS?

And, one more question:

This is the output I get after installation

root@SOCP3001-00000003:~# kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system helm-install-traefik-5xjmp 0/1 Evicted 0 3m20s
kube-system helm-install-traefik-zlgmp 0/1 Evicted 0 2m55s
kube-system metrics-server-7566d596c8-xcx2s 0/1 Evicted 0 3m19s
kube-system metrics-server-7566d596c8-85gd5 0/1 Evicted 0 2m52s
kube-system metrics-server-7566d596c8-9twlt 0/1 Evicted 0 2m52s
kube-system metrics-server-7566d596c8-ngrsg 0/1 Evicted 0 2m52s
kube-system metrics-server-7566d596c8-x8spb 0/1 Evicted 0 2m52s
kube-system metrics-server-7566d596c8-ssffv 0/1 Evicted 0 2m52s
kube-system metrics-server-7566d596c8-jlwgh 0/1 Evicted 0 2m51s
kube-system metrics-server-7566d596c8-qg7bj 0/1 Evicted 0 2m50s
kube-system metrics-server-7566d596c8-gdstz 0/1 Evicted 0 2m49s
kube-system local-path-provisioner-6d59f47c7-wnr76 0/1 Evicted 0 3m19s
kube-system metrics-server-7566d596c8-txzkk 0/1 Evicted 0 2m49s
kube-system local-path-provisioner-6d59f47c7-mgcq7 0/1 Evicted 0 2m49s
kube-system metrics-server-7566d596c8-sgpk7 0/1 Evicted 0 2m48s
kube-system local-path-provisioner-6d59f47c7-4bmqg 0/1 Evicted 0 2m47s
kube-system coredns-8655855d6-tkxh8 0/1 Evicted 0 3m19s
kube-system coredns-8655855d6-72pgz 0/1 Pending 0 2m45s
kube-system helm-install-traefik-qq5gq 0/1 Pending 0 2m45s
kube-system metrics-server-7566d596c8-jhb5b 0/1 Evicted 0 2m46s
kube-system metrics-server-7566d596c8-hdgsm 0/1 Pending 0 2m44s
kube-system local-path-provisioner-6d59f47c7-v7ws6 0/1 Evicted 0 2m46s
kube-system local-path-provisioner-6d59f47c7-btwdh 0/1 Pending 0 2m44s

I have a lot of evicted pods. For me this looks like my system runs out of resources. But I don’t understand why. If anybody has an idea and give me a hint…

Cheers
Ruben