微型K3s部署准备

硬件: 树莓派一代

为了能够发挥 树莓派一代 硬件余热(10年前购买的),我通过 树莓派一代安装Alpine Linux 来运行底层系统,一共使用了3个 树莓派一代 :

alpine linux初始化

最小化alpine linux安装(sys模式),启动系统后观察可以看到,内存仅占用 42MB

  • 软件仓库激活 community ,即修改 /etc/apk/repositories :

激活community仓库
1#/media/sda1/apks
2http://dl-cdn.alpinelinux.org/alpine/v3.15/main
3http://dl-cdn.alpinelinux.org/alpine/v3.15/community
4#http://dl-cdn.alpinelinux.org/alpine/edge/main
5#http://dl-cdn.alpinelinux.org/alpine/edge/community
6#http://dl-cdn.alpinelinux.org/alpine/edge/testing

Alpine Linux运行Docker

执行以下步骤完成 Alpine Linux 操作系统调整。

备注

默认不需要安装 Alpine Linux运行Docker ,因为 K3s - 轻量级Kubernetes 包含了 containerd运行时(runtime)runc

不过 源代码编译k3s 则需要先安装 Alpine Linux运行Docker ,因为所有编译过程都是在容器中完成

  • 执行cgroup的fs挂载配置:

配置cgroup的fs挂载配置 /etc/fstab
echo "cgroup /sys/fs/cgroup cgroup defaults 0 0" >> /etc/fstab
  • 创建 /etc/cgconfig.conf :

创建 /etc/cgconfig.conf
cat > /etc/cgconfig.conf <<EOF
mount {
  cpuacct = /cgroup/cpuacct;
  memory = /cgroup/memory;
  devices = /cgroup/devices;
  freezer = /cgroup/freezer;
  net_cls = /cgroup/net_cls;
  blkio = /cgroup/blkio;
  cpuset = /cgroup/cpuset;
  cpu = /cgroup/cpu;
}
EOF
  • 修订alpine linux内核启动参数,/media/mmcblk0p1/cmdline.txt 添加:

/media/mmcblk0p1/cmdline.txt 添加内核参数
cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory
  • 重启主机,然后检查 docker info 输出信息