k0s 使用教程:轻量级 Kubernetes 发行版,单文件部署 K8S 集群
k0s 使用教程:轻量级 Kubernetes 发行版,单文件部署 K8S 集群
SEO关键词
k0s、k0s教程、k0s安装教程、Kubernetes发行版、轻量级Kubernetes、k0sctl、K8S集群部署、Kubernetes高可用、边缘计算Kubernetes、ARM Kubernetes
大家好 这里是「代码简单说」,欢迎大家关注同名公众号,不定时更新更多实用有趣的教程 也欢迎大家在评论区一起讨论交流!~
在 Kubernetes 生态中,虽然 K8S 功能强大,但安装和维护往往比较复杂。对于个人开发者、中小企业、边缘计算以及 IoT 场景来说,部署一个完整的 Kubernetes 集群往往需要较高的学习成本。
今天给大家介绍一个开源项目:
k0s
k0s 是一个轻量级、开源、符合 CNCF 认证标准的 Kubernetes 发行版,最大的特点就是:
单个二进制文件即可运行完整 Kubernetes 集群。
无论是云服务器、物理机、边缘设备还是 IoT 环境,都可以快速部署 Kubernetes 集群。
项目地址:
https://github.com/k0sproject/k0s
什么是 k0s
k0s 官方将自己定义为:
The Zero Friction Kubernetes(零摩擦 Kubernetes)
其目标是降低 Kubernetes 的安装、部署和维护门槛。
相比传统 Kubernetes 安装方式:
- kubeadm
- Rancher
- Kubespray
- K3s
k0s 更加简单直接。
它将 Kubernetes 所需组件全部打包到一个可执行文件中,不依赖额外运行环境。
官方介绍中提到:
k0s 是一个开源、一体化 Kubernetes 发行版,包含构建 Kubernetes 集群所需的全部功能,并以单个二进制文件形式发布。
k0s 核心特性
1. 完整 Kubernetes 发行版
k0s 并不是精简版 Kubernetes。
它提供:
- API Server
- Scheduler
- Controller Manager
- CoreDNS
- Metrics Server
- Container Runtime
- 网络插件
属于完整 K8S 解决方案。
2. 单文件部署
传统 Kubernetes 安装:
docker
containerd
kubelet
kubeadm
kubectl
需要安装多个组件。
而 k0s:
curl -sSLf https://get.k0s.sh | sudo sh
即可安装。
部署极其简单。
3. 支持单节点和多节点
支持:
单节点集群
适用于:
- 学习 Kubernetes
- 本地开发
- 测试环境
多节点集群
适用于:
- 企业生产环境
- 私有云
- 数据中心
4. 资源占用低
官方最低要求:
| 配置 | 要求 |
|---|---|
| CPU | 1 Core |
| 内存 | 1 GB |
| 系统 | Linux |
相比标准 Kubernetes 更轻量。
非常适合:
- VPS
- 工控机
- NAS
- ARM 开发板
5. 支持多种架构
支持:
- x86_64
- ARM64
- ARMv7
- RISC-V
例如:
- Raspberry Pi
- 香橙派
- 飞腾服务器
- 龙芯平台
均可部署。
6. 支持高可用集群
k0s 可扩展为:
Controller × 3
Worker × N
支持:
- 高可用控制平面
- 自动故障恢复
- 集群扩容
适合生产环境。
k0s 架构介绍
典型架构:
┌──────────────┐
│ Controller 1│
└──────┬───────┘
│
┌──────▼───────┐
│ Controller 2│
└──────┬───────┘
│
┌──────▼───────┐
│ Controller 3│
└──────┬───────┘
│
┌─────▼─────┐
│ Worker │
└─────┬─────┘
│
┌─────▼─────┐
│ Worker │
└───────────┘
支持:
- 控制节点隔离
- 工作节点扩展
- 高可用部署
快速安装 k0s
下载
Linux:
curl -sSLf https://get.k0s.sh | sudo sh
查看版本:
k0s version
初始化控制节点
创建控制平面:
sudo k0s install controller --single
启动:
sudo k0s start
查看状态:
sudo k0s status
获取 kubectl 配置
导出配置:
sudo k0s kubeconfig admin > kubeconfig
设置环境变量:
export KUBECONFIG=./kubeconfig
查看节点:
kubectl get nodes
输出:
NAME STATUS ROLES
server1 Ready control-plane
说明集群已经运行成功。
添加 Worker 节点
在 Controller 节点生成 Token:
k0s token create --role=worker
输出类似:
K10xxxxxxxxxxxx
在 Worker 节点执行:
sudo k0s install worker \
--token-file token.txt
启动:
sudo k0s start
查看节点:
kubectl get nodes
结果:
controller Ready
worker01 Ready
worker02 Ready
k0sctl 自动化运维
官方推荐使用:
k0sctl
类似:
- Ansible
- Kubespray
用于自动化管理集群。
安装:
curl -sSL https://github.com/k0sproject/k0sctl/releases/latest/download/k0sctl-linux-amd64 \
-o k0sctl
chmod +x k0sctl
集群配置
创建:
apiVersion: k0sctl.k0sproject.io/v1beta1
kind: Cluster
spec:
hosts:
- role: controller
ssh:
address: 192.168.1.10
user: root
- role: worker
ssh:
address: 192.168.1.11
user: root
部署:
k0sctl apply
即可自动安装整个集群。
支持的数据库
默认:
单节点
SQLite
多节点
etcd
此外还支持:
- MySQL
- PostgreSQL
方便与企业现有基础设施集成。
网络插件支持
默认网络方案:
Kube-Router
同时支持:
- Calico
- Cilium
- Flannel
- Weave
自定义 CNI 配置即可使用。
存储支持
兼容 Kubernetes CSI 标准。
支持:
- NFS
- Ceph
- Longhorn
- OpenEBS
- 云厂商存储
例如:
- AWS EBS
- 阿里云 ESSD
- 腾讯云 CBS
均可接入。
k0s 与 K3s 对比
| 功能 | k0s | K3s |
|---|---|---|
| CNCF认证 | ✔ | ✔ |
| 单文件部署 | ✔ | ✔ |
| ARM支持 | ✔ | ✔ |
| 高可用 | ✔ | ✔ |
| 自动运维 | ✔ k0sctl | 部分 |
| 资源占用 | 低 | 更低 |
| 企业生产环境 | ✔ | ✔ |
如果是:
- 企业私有云
- 多节点集群
- 高可用环境
k0s 更具优势。
如果是:
- IoT
- Raspberry Pi
- 超轻量场景
K3s 更节省资源。
适用场景
开发测试环境
快速搭建 Kubernetes 学习环境。
企业私有云
构建:
- DevOps 平台
- 微服务平台
- AI 集群
边缘计算
适用于:
- 工厂设备
- 边缘服务器
- IoT 网关
ARM 服务器
例如:
- Raspberry Pi
- 飞腾
- 鲲鹏
- 龙芯
均可部署。
总结
k0s 是目前 Kubernetes 领域非常值得关注的轻量级发行版之一。
相比传统 Kubernetes:
- 安装更简单
- 运维更方便
- 单文件部署
- 支持高可用
- 支持 ARM
- 支持生产环境
如果你正在寻找一个比 kubeadm 更简单、比传统 Kubernetes 更易维护,同时又保留完整 Kubernetes 能力的解决方案,那么 k0s 是一个非常不错的选择。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)