Platform - K3s
K3S
- https://k3s.io/
- https://docs.rancher.cn/k3s/
- https://rancher.com/docs/k3s/latest/en/
- https://github.com/rancher/k3s
- https://github.com/rancher/k3s/releases/
K3s 是由 Rancher Labs 发布的一款开源、极轻量的Kubernetes 发行版,通过了CNCF一致性认证,适用于在资源有限的环境中运行Kubernetes。
K3s主要用于部署在资源受限的边缘计算场景中,也可以在本地运行以进行Kubernetes测试或开发。
K3s是为生产环境设计的,因此在PC或笔记本电脑上,K3s是与生产级服务器最接近的选项。
k3s 将安装 Kubernetes 所需的一切打包进一个小型二进制文件中,并且完全实现了 Kubernetes API。
可以在短时间内安装,并且通常不到 2 分钟的时间就能够启动一个带有几个节点的 k3s 集群,
为了减少运行 Kubernetes 所需的内存,Rancher 删除了很多不必要的驱动程序,并用附加组件对其进行替换。
只需要极低的资源就可以运行,目前能够在任何 512MB RAM 以上的设备上运行集群。
k3s 相对 k8s 裁剪了如下 5 个部分:
- 过时的功能和非默认功能
- Alpha 功能
- 内置的云提供商插件
- 内置的存储驱动
- Docker
k3s软件包所需的依赖:
- containerd
- Flannel
- CoreDNS
- CNI
- 主机系统服务 (iptables, socat, etc)
k3s是完全兼容的Kubernetes发行版,有以下更改
- 移除过时的功能、Alpha功能、非默认功能,这些功能在大多数Kubernetes集群中已不可用。
- 删除内置插件(比如云供应商插件和存储插件),可用外部插件程序替换。
- 添加SQLite3作为默认的数据存储。etcd3仍然可用,但并非默认项。
- 包含在一个简单的启动程序当中,可以处理复杂的TLS和其他选项。
k3s的使用场景:
- Edge
- IoT
- CI
- ARM
安装
k3s 相对 k8s 无需额外安装如下组件:
- kubelet
- kube-proxy
- Docker
- etcd
- ingress
Manual Download: https://github.com/rancher/k3s#manual-download
下载k3s,保存到/usr/local/bin
并设置可执行权限,
Download k3s from latest release, x86_64, armhf, and arm64 are supported.
Run server.
sudo k3s server &
# Kubeconfig is written to /etc/rancher/k3s/k3s.yaml
sudo k3s kubectl get nodes
# On a different node run the below. NODE_TOKEN comes from
# /var/lib/rancher/k3s/server/node-token on your server
sudo k3s agent --server https://myserver:6443 --token ${NODE_TOKEN}
k3s命令
# k3s help
NAME:
k3s - Kubernetes, but small and simple
USAGE:
k3s [global options] command [command options] [arguments...]
VERSION:
v1.18.4+k3s1 (97b7a0e9)
COMMANDS:
server Run management server
agent Run node agent
kubectl Run kubectl
crictl Run crictl
ctr Run ctr
check-config Run config check
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--debug Turn on debug logs [$K3S_DEBUG]
--help, -h show help
--version, -v print the version
如何利用K3s在本地设备上创建一个微型Kubernetes集群?
https://rancher.com/docs/k3s/latest/en/installation/install-options/
- 使用VMware、VirtualBox或KVM等平台在本地系统上至少创建两个VM
- 在其中一个VM上安装并配置K3s server,在其他VM上安装并配置K3s agent。
辅助工具
K3sup: https://github.com/alexellis/k3sup
K3sup 是由 Alex Ellis 创建的一个开源项目,使得 k3s 的安装和 kubeconfig 文件的生成变得快速和方便。
能以极快的速度自动化安装 k3s、将 SAN 地址更新为公共 IP、下载 k3s 配置文件然后使用 VM 的公共 IP 地址将其更新,以便可以使用 kubectl 连接它。
Rancher
- HomePage:https://rancher.com/
- Documentation:https://rancher.com/docs/
- GitHub:https://github.com/rancher/rancher
- 中文官网:https://www.rancher.cn/
- 中文文档:https://docs.rancher.cn/
- 快速入门:https://docs.rancher.cn/rancher2x/quick-start.html
Rancher良好的用户体验基于Kubernetes,可以帮助用户快速实现Kubernetes,充分利用Kubernetes的强大力量。
相比Kubernetes,Rancher提供了一个易用的容器管理平台,简化了安装和维护,降低了学习和使用难度。
简而言之,Rancher就是一款提供Kubernetes-as-a-Service.的开源软件。
Rancher为DevOps团队提供了运行容器化工作负载的管理工具,包含简单的CICD功能,可以在项目中创建Pipeline来实现持续集成。
参考信息
- 轻量级Kubernetes k3s初探 - InfoQ https://www.infoq.cn/article/0c7viUfLrxOZeh7qlRBT
- K8s还是K3s?This is a question - InfoQ https://www.infoq.cn/article/KzZMe4MTjpNNVkiJm9R6
行动是绝望的解药!
欢迎转载和引用,但请在明显处保留原文链接和原作者信息!
本博客内容多为个人工作与学习的记录,少数内容来自于网络并略有修改,已尽力标明原文链接和转载说明。如有冒犯,即刻删除!
以所舍,求所得,有所获,方所成。