忘机山人
> K3s 是 Rancher 推出的轻量级 Kubernetes 发行版,一个二进制文件搞定一切,特别适合边缘计算、IoT、开发测试等场景。 > 本文记录在一个轻量 Linux 容器(lzcbox)中从零安装 K3s 的完整过程,包括踩坑和解决方案。 https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.dockge 都玩K3S了,相信你一定会使用SSH了。可以看我之前文章开启SSH哦~ 如果网络OK的话一行命令搞定: ```bash curl -sfL https://get.k3s.io | sh - ``` 安装脚本会自动: - 下载 k3s 二进制文件到 `/usr/local/bin/k3s` - 创建 `/usr/local/bin/kubectl` 软链接指向 k3s - 创建 `/usr/local/bin/crictl` 软链接 - 创建 systemd 服务文件并启动 k3s - 创建卸载脚本 `/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`: ```bash mkdir -p /etc/rancher/k3s echo 'snapshotter: native' > /etc/rancher/k3s/config.yaml systemctl restart k3s ``` 然后重启: ``` systemctl restart k3s ``` # 5. 验证 ``` 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暂无评论