K3S 轻量级 Kubernetes
K3s 是轻量级的 Kubernetes。K3s 易于安装,仅需要 Kubernetes 内存的一半,所有组件都在一个小于 100 MB 的二进制文件中。
它适用于:
- Edge
- IoT
- CI
- Development
- ARM
- 嵌入 K8s
- 无法获得 K8s 集群 PhD 的情况
# 什么是 K3s?
K3s 是一个完全兼容的 Kubernetes 发行版,具有以下增强功能:
- 打包为单个二进制文件。
- 使用基于 sqlite3 作为默认存储机制的轻量级存储后端。同时支持使用 etcd3、MySQL 和 Postgres。
- 封装在简单的启动程序中,可以处理很多复杂的 TLS 和选项。
- 默认情况下是安全的,对轻量级环境有合理的默认值。
- 添加了简单但强大的 batteries-included 功能,例如:
- 本地存储提供程序
- service load balancer
- Helm controller
- Traefik ingress controller
- 所有 Kubernetes control plane 组件的操作都封装在单个二进制文件和进程中。因此,K3s 支持自动化和管理复杂的集群操作(例如证书分发等)。
- 最大程度减轻了外部依赖性,K3s 仅需要现代内核和 cgroup 挂载。K3s 打包了所需的依赖,包括:
- containerd
- Flannel (CNI)
- CoreDNS
- Traefik (Ingress)
- Klipper-lb (Service LB)
- 嵌入式网络策略控制器
- 嵌入式 local-path-provisioner
- 主机实用程序(iptables、socat 等)
# 架构
K3s 主要有如下节点组成:
- Server 节点指的是运行 k3s server 命令的主机,control plane 和数据存储组件由 K3s 管理。
- Agent 节点指的是运行 k3s agent 命令的主机,不具有任何数据存储或 control plane 组件。
Server 和 Agent 都运行 kubelet、容器运行时和 CNI。
# 更多参考
上次更新: 2023/04/04, 18:43:11