忘机山人
K3s 是 Rancher 推出的轻量级 Kubernetes 发行版,一个二进制文件搞定一切,特别适合边缘计算、IoT、开发测试等场景。
本文记录在一个轻量 Linux 容器(lzcbox)中从零安装 K3s 的完整过程,包括踩坑和解决方案。
都玩K3S了,相信你一定会使用SSH了。可以看我之前文章开启SSH哦~
如果网络OK的话一行命令搞定:
curl -sfL https://get.k3s.io | sh -
安装脚本会自动:
/usr/local/bin/k3s/usr/local/bin/kubectl 软链接指向 k3s/usr/local/bin/crictl 软链接/usr/local/bin/k3s-uninstall.sh安装输出示例:
[INFO] Finding release for channel stable
[INFO] Using v1.34.5+k3s1 as release
[INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.34.5%2Bk3s1/k3s
[INFO] Installing k3s to /usr/local/bin/k3s
[INFO] Creating /usr/local/bin/kubectl symlink to k3s
[INFO] Creating /usr/local/bin/crictl symlink to k3s
[INFO] systemd: Creating service file /etc/systemd/system/k3s.service
[INFO] systemd: Enabling k3s unit
[INFO] systemd: Starting k3s
因为网络原因镜像下载不下来,所以出现systemd: Starting k3s的时候我们停掉。
然后下载离线的包:
sudo mkdir -p /var/lib/rancher/k3s/agent/images/
cp k3s-airgap-images-amd64.tar.zst /var/lib/rancher/k3s/agent/images/
还有一个注意,不然一直起不来。
内核不允许嵌套挂载 overlayfs。K3s 默认使用 overlayfs 作为 containerd 的 snapshotter,导致服务一直卡在 activating (start) 状态,日志循环报错:
"overlayfs" snapshotter cannot be enabled for "/var/lib/rancher/k3s/agent/containerd",
try using "fuse-overlayfs" or "native"
切换 snapshotter 为 native:
mkdir -p /etc/rancher/k3s
echo 'snapshotter: native' > /etc/rancher/k3s/config.yaml
systemctl restart k3s
然后重启:
systemctl restart k3s
k3s kubectl get nodes
k3s kubectl get pods -A
然后就可以启动,因为ghcr的nginx默认在8080端口,换一个终端curl一下就行了。
k3s kubectl run nginx --image=ghcr.io/nginxinc/nginx-unprivileged:latest --port=8080
k3s kubectl port-forward pod/nginx 8080:8080 --address=0.0.0.0
然后就可以兼容K8S得模式在微服上玩转K3S了,Docker根本不够玩。
but 重启之后这些配置还会丢失。。。探索ing

评论
0暂无评论