在 pi 为零的情况下运行 k3s

Posted

技术标签:

【中文标题】在 pi 为零的情况下运行 k3s【英文标题】:Running k3s on with pi zero 【发布时间】:2021-04-14 13:55:38 【问题描述】:

当使用 k3sup 在 raspberrypi 4b 上使用 raspbian buster 设置 k3s 时,它可以工作(armv7 架构;参考下文)。在 pi zeros 上使用与代理节点完全相同的类似设置过程,并运行 raspi-config,它会出错并出现以下故障:

- CONFIG_CGROUP_CPUACCT: enabled
- CONFIG_CGROUP_DEVICE: enabled
- CONFIG_CGROUP_FREEZER: enabled
- CONFIG_CGROUP_SCHED: enabled
- CONFIG_CPUSETS: missing (fail)
- CONFIG_MEMCG: enabled
- CONFIG_KEYS: enabled
- CONFIG_VETH: enabled (as module)

一种可能的解释可能是 zeros 使用的是 armv6 架构,其中有一些报告提到它们可能不受支持。还有一些相互矛盾的报道称它已经可以在 pi zeros 上运行。

~excerpt from : https://groups.google.com/g/clusterhat/c/iUcfVqJ1aL0

pi@cnat:~ $ kubectl get node -o wide          
NAME   STATUS   ROLES    AGE     VERSION        INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                         KERNEL-VERSION   CONTAINER-RUNTIME
p4     Ready    <none>   20m     v1.17.2+k3s1   172.19.181.4    <none>        Raspbian GNU/Linux 10 (buster)   4.19.97+         containerd://1.3.3-k3s1
p2     Ready    <none>   5m46s   v1.17.2+k3s1   172.19.181.2    <none>        Raspbian GNU/Linux 10 (buster)   4.19.97+         containerd://1.3.3-k3s1
p1     Ready    <none>   12m     v1.17.2+k3s1   172.19.181.1    <none>        Raspbian GNU/Linux 10 (buster)   4.19.97+         containerd://1.3.3-k3s1
cnat   Ready    master   31m     v1.17.2+k3s1   192.168.5.234   <none>        Raspbian GNU/Linux 10 (buster)   4.19.97-v7+      containerd://1.3.3-k3s1
p3     Ready    <none>   114s    v1.17.2+k3s1   172.19.181.3    <none>        Raspbian GNU/Linux 10 (buster)   4.19.97+         containerd://1.3.3-k3s1

是否有任何配置可以使 k3s(代理)在树莓派零(w)上成功运行?如果是这样,节点 os/version 和 k3s 设置是什么?任何帮助表示赞赏,因为这是一场艰苦的战斗。

(以下参考:https://alexellisuk.medium.com/walk-through-install-kubernetes-to-your-raspberry-pi-in-15-minutes-84a8492dc95a)

【问题讨论】:

到目前为止,我只发现原因似乎是 pizero 位于 arm6 架构上,而 k8s 已弃用该架构。参考 - github.com/kubernetes/kubeadm/issues/253 【参考方案1】:

为了解决您在 pi 零设备上看到的错误,我在 /boot/cmdline.txt 行“cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory”中添加了以下内容。

但是在启动并运行一段时间后,k3s 代理服务会转储。

【讨论】:

谢谢。但我已经在启动时在 cmdline.txt 中设置了。它仍然没有从零开始代理【参考方案2】:

很遗憾,k3s 无法在 Pi Zero 上运行,因为 Pi zero 基于 ARMv6,而 K3S 仅支持 ARM 启动 ARMv7。 (请参阅此 Github 问题:https://github.com/k3s-io/k3s/issues/2699)。

如果您希望 Raspberry Pi 运行 K3s,请使用带有 ARMv7 CPU 的 Raspberry Pi(例如:Raspberry pi 4)。

【讨论】:

以上是关于在 pi 为零的情况下运行 k3s的主要内容,如果未能解决你的问题,请参考以下文章

检测到约束模糊地表明高度为零的情况

检测到约束模糊地建议集合视图单元格的内容视图大小为零的情况

极限运算法则的注意事项,无限个无穷小和 分母为零的情况 不适用,不满足前提条件

sql server中除数为零的处理技巧

MySQL关于日期为零值的处理

如果只需要结果的低位部分,哪些 2 的补码整数运算可以在不将输入中的高位归零的情况下使用?