5分钟极简指南零网络依赖搭建K3s单机学习环境在技术学习过程中一个稳定可控的实验环境往往比理论知识更重要。对于想要入门Kubernetes却苦于网络不稳定或资源有限的开发者来说K3s无疑是最佳选择。作为CNCF认证的轻量级Kubernetes发行版K3s将内存占用缩减到传统K8s的1/10却保留了完整的Kubernetes API支持。本文将带你绕过复杂的网络配置用最直接的方式在本地搭建一个完全离线的K3s学习环境。1. 准备工作获取离线安装包K3s的离线安装需要两个核心文件二进制执行文件和容器镜像包。打开浏览器访问K3s的GitHub Releases页面https://github.com/k3s-io/k3s/releases找到对应版本的Assets部分k3s主程序二进制文件选择与系统架构匹配的版本如amd64/arm64k3s-airgap-images-${ARCH}.tar预打包的容器镜像集以v1.26.2k3s1版本为例需要下载wget https://github.com/k3s-io/k3s/releases/download/v1.26.2%2Bk3s1/k3s-airgap-images-amd64.tar wget https://github.com/k3s-io/k3s/releases/download/v1.26.2%2Bk3s1/k3s提示如果目标机器无法访问GitHub可在能联网的机器下载后通过U盘传输2. 部署容器镜像将下载的镜像包放置到K3s的默认读取路径sudo mkdir -p /var/lib/rancher/k3s/agent/images/ sudo cp k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/验证镜像是否就位ls -lh /var/lib/rancher/k3s/agent/images/ # 应能看到类似输出 # -rw-r--r-- 1 root root 348M Mar 15 10:23 k3s-airgap-images-amd64.tar3. 安装K3s二进制文件将k3s二进制文件安装到系统路径并设置执行权限sudo install -m 755 k3s /usr/local/bin/创建最小化配置文件避免自动下载组件sudo mkdir -p /etc/rancher/k3s/ cat EOF | sudo tee /etc/rancher/k3s/config.yaml write-kubeconfig-mode: 0644 tls-san: - 127.0.0.1 EOF4. 一键启动单机集群执行离线安装命令sudo INSTALL_K3S_SKIP_DOWNLOADtrue \ INSTALL_K3S_EXECserver --disabletraefik \ /usr/local/bin/k3s server关键参数说明INSTALL_K3S_SKIP_DOWNLOADtrue禁止在线下载--disabletraefik禁用默认的Ingress控制器可选5. 验证与基本操作检查节点状态sudo /usr/local/bin/k3s kubectl get nodes # 应看到类似输出 # NAME STATUS ROLES AGE VERSION # localhost Ready control-plane,master 47s v1.26.2k3s1查看系统Pod运行情况sudo /usr/local/bin/k3s kubectl get pods -A获取集群配置用于本地kubectl访问sudo cat /etc/rancher/k3s/k3s.yaml6. 常见问题排查问题1镜像导入失败解决方案# 检查镜像是否完整 tar tvf /var/lib/rancher/k3s/agent/images/k3s-airgap-images-amd64.tar | head # 重新导入镜像 sudo k3s crictl images import /var/lib/rancher/k3s/agent/images/k3s-airgap-images-amd64.tar问题2服务启动超时检查服务日志sudo journalctl -u k3s -f问题3端口冲突修改默认端口示例改为6444sudo INSTALL_K3S_SKIP_DOWNLOADtrue \ INSTALL_K3S_EXECserver --https-listen-port6444 \ /usr/local/bin/k3s server7. 环境清理与重置当需要重新开始实验时彻底清除K3s/usr/local/bin/k3s-killall.sh /usr/local/bin/k3s-uninstall.sh rm -rf /etc/rancher/k3s/ /var/lib/rancher/k3s/对于树莓派等ARM设备只需将下载的amd64替换为arm64即可。实际测试中在4GB内存的树莓派4B上K3s启动后内存占用仅500MB左右完全满足学习需求。
告别网络依赖:5分钟搞定K3s离线单机版,快速搭建个人K8s学习环境
5分钟极简指南零网络依赖搭建K3s单机学习环境在技术学习过程中一个稳定可控的实验环境往往比理论知识更重要。对于想要入门Kubernetes却苦于网络不稳定或资源有限的开发者来说K3s无疑是最佳选择。作为CNCF认证的轻量级Kubernetes发行版K3s将内存占用缩减到传统K8s的1/10却保留了完整的Kubernetes API支持。本文将带你绕过复杂的网络配置用最直接的方式在本地搭建一个完全离线的K3s学习环境。1. 准备工作获取离线安装包K3s的离线安装需要两个核心文件二进制执行文件和容器镜像包。打开浏览器访问K3s的GitHub Releases页面https://github.com/k3s-io/k3s/releases找到对应版本的Assets部分k3s主程序二进制文件选择与系统架构匹配的版本如amd64/arm64k3s-airgap-images-${ARCH}.tar预打包的容器镜像集以v1.26.2k3s1版本为例需要下载wget https://github.com/k3s-io/k3s/releases/download/v1.26.2%2Bk3s1/k3s-airgap-images-amd64.tar wget https://github.com/k3s-io/k3s/releases/download/v1.26.2%2Bk3s1/k3s提示如果目标机器无法访问GitHub可在能联网的机器下载后通过U盘传输2. 部署容器镜像将下载的镜像包放置到K3s的默认读取路径sudo mkdir -p /var/lib/rancher/k3s/agent/images/ sudo cp k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/验证镜像是否就位ls -lh /var/lib/rancher/k3s/agent/images/ # 应能看到类似输出 # -rw-r--r-- 1 root root 348M Mar 15 10:23 k3s-airgap-images-amd64.tar3. 安装K3s二进制文件将k3s二进制文件安装到系统路径并设置执行权限sudo install -m 755 k3s /usr/local/bin/创建最小化配置文件避免自动下载组件sudo mkdir -p /etc/rancher/k3s/ cat EOF | sudo tee /etc/rancher/k3s/config.yaml write-kubeconfig-mode: 0644 tls-san: - 127.0.0.1 EOF4. 一键启动单机集群执行离线安装命令sudo INSTALL_K3S_SKIP_DOWNLOADtrue \ INSTALL_K3S_EXECserver --disabletraefik \ /usr/local/bin/k3s server关键参数说明INSTALL_K3S_SKIP_DOWNLOADtrue禁止在线下载--disabletraefik禁用默认的Ingress控制器可选5. 验证与基本操作检查节点状态sudo /usr/local/bin/k3s kubectl get nodes # 应看到类似输出 # NAME STATUS ROLES AGE VERSION # localhost Ready control-plane,master 47s v1.26.2k3s1查看系统Pod运行情况sudo /usr/local/bin/k3s kubectl get pods -A获取集群配置用于本地kubectl访问sudo cat /etc/rancher/k3s/k3s.yaml6. 常见问题排查问题1镜像导入失败解决方案# 检查镜像是否完整 tar tvf /var/lib/rancher/k3s/agent/images/k3s-airgap-images-amd64.tar | head # 重新导入镜像 sudo k3s crictl images import /var/lib/rancher/k3s/agent/images/k3s-airgap-images-amd64.tar问题2服务启动超时检查服务日志sudo journalctl -u k3s -f问题3端口冲突修改默认端口示例改为6444sudo INSTALL_K3S_SKIP_DOWNLOADtrue \ INSTALL_K3S_EXECserver --https-listen-port6444 \ /usr/local/bin/k3s server7. 环境清理与重置当需要重新开始实验时彻底清除K3s/usr/local/bin/k3s-killall.sh /usr/local/bin/k3s-uninstall.sh rm -rf /etc/rancher/k3s/ /var/lib/rancher/k3s/对于树莓派等ARM设备只需将下载的amd64替换为arm64即可。实际测试中在4GB内存的树莓派4B上K3s启动后内存占用仅500MB左右完全满足学习需求。