K3s 技术操作指南:轻量级 Kubernetes 的极致实践

K3s 技术操作指南:轻量级 Kubernetes 的极致实践
Weekend🐋 K3s 技术操作指南:轻量级 Kubernetes 的极致实践
K3s 是一种高可用性、经过认证的 Kubernetes 发行版,专为无人值守、资源受限、远程运维或物联网设备内部的生产工作负载而设计。
一、K3s 简介
在容器化与微服务的时代,Kubernetes 几乎成为了分布式部署的标准平台。但对于边缘计算、小型集群、开发测试环境来说,传统 Kubernetes(k8s)过于“笨重” —— 组件繁多、资源占用高、部署复杂。
K3s 正是为了解决这一痛点而诞生的。
它由 Rancher Labs(后被 SUSE 收购)开发,是一款 轻量级、完全兼容 Kubernetes API 的发行版,专为资源受限环境和边缘计算场景设计。
🚀 核心特性
- ✅ 轻量化:单个二进制文件(<100MB),组件合并简化。
- ⚙️ 快速安装:一条命令即可完成安装。
- 🧠 内置 SQLite 数据库(可替换为外部 etcd 或 MySQL)。
- 🔒 自动 TLS 证书管理。
- 🌐 支持 ARM/ARM64/x86 多架构。
- 🧩 兼容标准 Kubernetes 生态(kubectl、Helm、CNI、CSI 等)。
二、K3s 架构概览
K3s 保留了 Kubernetes 的核心组件,但做了轻量化与集成优化。
1 | ┌──────────────────────────────┐ |
🧩 主要区别
| 组件 | K3s 变化 |
|---|---|
| kube-proxy | 替换为轻量化版本 |
| container runtime | 默认使用 containerd |
| CNI | 默认使用 flannel,可替换 |
| 数据存储 | 默认 SQLite,可配置外部 DB |
| 控制面 | 可单节点/多主 HA 模式部署 |
三、安装与部署
✅ 环境准备
系统要求:
- Ubuntu 20.04+/CentOS 8+/Rocky Linux
- 至少 2 CPU / 2GB RAM(建议 4GB+)
- 能访问外网(或配置离线镜像仓库)
- 已安装
curl和sudo
🖥️ 单节点部署(开发环境)
1 | curl -sfL https://get.k3s.io | sh - |
安装完成后,运行以下命令验证:
1 | sudo kubectl get nodes |
输出示例:
1 | NAME STATUS ROLES AGE VERSION |
🧩 多节点集群部署(生产推荐)
1️⃣ 安装主节点
1 | curl -sfL https://get.k3s.io | sh - |
查看并记录主节点 token:
1 | sudo cat /var/lib/rancher/k3s/server/node-token |
2️⃣ 加入工作节点
在其他节点执行:
1 | curl -sfL https://get.k3s.io | K3S_URL=https://<master-ip>:6443 K3S_TOKEN=<上面token> sh - |
验证集群状态:
1 | sudo kubectl get nodes -o wide |
四、K3s 集群管理常用操作
🌱 启停服务
1 | sudo systemctl stop k3s |
工作节点为:
1 | sudo systemctl restart k3s-agent |
📦 查看 Pod 状态
1 | kubectl get pods -A |
🧭 查看日志
1 | journalctl -u k3s -f |
⚙️ 升级 K3s
1 | curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.30.2+k3s1 sh - |
五、K3s 实战:部署一个 Nginx 应用
1️⃣ 创建一个简单的 nginx.yaml:
1 | apiVersion: apps/v1 |
2️⃣ 部署:
1 | kubectl apply -f nginx.yaml |
3️⃣ 访问:
1 | http://<任意节点IP>:30080 |
六、常见问题与排查技巧
| 问题 | 解决方法 |
|---|---|
| 节点一直 NotReady | 检查 flannel/CNI 网络是否正常:kubectl get pods -n kube-system |
| Agent 无法加入集群 | 确认防火墙开放 6443 端口;检查 token 是否一致 |
| 镜像拉取失败 | 配置国内镜像源 /etc/rancher/k3s/registries.yaml |
| Kubectl 无法访问 | 使用 sudo cat /etc/rancher/k3s/k3s.yaml 配置 kubeconfig |
示例:配置国内镜像加速
1 | mirrors: |
然后重启 K3s:
1 | sudo systemctl restart k3s |
七、K3s 的进阶玩法
- 🌐 外部数据库支持:支持 etcd、MySQL、PostgreSQL
- 🐳 集成 containerd + nerdctl CLI
- 📦 支持 Helm charts:
kubectl apply -f https://.../chart.yaml - 🧠 结合 Ansible 自动化部署
- ☁️ 适配边缘节点(ARM / Jetson / 树莓派)
八、总结
K3s 的出现,让 Kubernetes 的部署不再是一项“重武器工程”。
它轻量、快速、功能完整,既适合 开发者本地测试,也可用于 边缘计算、IoT、AI 推理节点 等实际生产场景。
如果你曾经被 k8s 的复杂性劝退,不妨从 K3s 开始。
✍️ 作者:Weekend
📅 发布日期:2025年10月
💡 关键词:K3s、Kubernetes、轻量化集群、边缘计算、DevOps
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果










