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