k3s vs kubedge

emmmm

集羣的創建和部署越來越流行,這篇對比一下工具k3s和kubedge。k3s已經實踐過一些,kubedge沒有操作過,詢問了一下使用過的同學,做出如下總結(由於我使用的是k3s,所以k3s優點會多說一些hhh):

兩個開源工具介紹

k3s 是由 Rancher Labs 於2019年年初推出的一款輕量級 Kubernetes 發行版,滿足在邊緣計算環境中運行在 x86、ARM64 和 ARMv7 處理器上的小型、易於管理的 Kubernetes 集羣日益增長的需求
k3s 除了在邊緣計算領域的應用外,在研發側的表現也十分出色。我們可以快速在本地拉起一個輕量級的 k8s 集羣

KubeEdge 是華爲捐獻給 CNCF 的第一個開源項目,提供雲邊協同能力的開放式邊緣計算平臺。KubeEdge 的名字來源於 Kube + Edge,顧名思義就是依託 Kubernetes 的容器編排和調度能力
K3S 是 Rancher 開源的一個自己裁剪的 Kubernetes 發行版,K3S 名字來源於 K8s – 5,這裏的“5”指的是 K3S 比 Kubernetes 更輕量使得它能更好地適配 CI(持續集成),ARM,邊緣技術,物聯網和測試這 5 個場景

關於k8s

k8s缺點:

  1. 過程繁瑣,kubelet、flannel等組件都要手動安裝 K8s 安裝部署 - 雲+社區 - 騰訊雲 (tencent.com)
  2. 物理機佔用資源多,根據使用k3s減少k8s成本 - 簡書 (jianshu.com),博主提到1G內存的worker node已經完全低於推薦配置,如果在上面部署worker node直接的內存佔用就要300M左右,剩餘的內存空間並不多,必須要使用交換分區。etcd節點之前也用過1G的內存,但經常會由於大量使用交換分區導致性能問題,最後集羣崩潰,所以無論如何也需要使用2G的內存纔行

k3s優勢

k3s優點:

  1. 安裝過程極大簡化,能
    通過下面一句指令就能安裝,自帶kubectl工具,省去了kubelet、flanne等繁瑣的安裝詳情見我的帖子k3d | 環境配置+kubectl配置 - 簡書 (jianshu.com)
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
  1. 物理機佔用的資源減少,還是這篇帖子使用k3s減少k8s成本 - 簡書 (jianshu.com)指出,根據博主的親自嘗試,k3s的server大概只佔用200M左右的內存,agent只佔用幾十兆內存,非常的節約。k3s也可以完全使用kubectl來進行管理,配置文件和k8s保持一致,非常方便

k3s缺點:
相比Kubedge,對邊緣節點的資源更高,參考這篇KubeEdge 向左,K3S 向右 - 知乎 (zhihu.com)內有運行應用時兩者CPU、內存的消耗曲線

kubedge缺點

kubedge優點:
極大減輕邊緣節點的工作量,不需要配置k8s/k3s平面

kubedge缺點:

  1. 安裝過程複雜,master節點需要配置原生的k8s+自主研發的cloudcore,edge節點不需要安裝k8s,配置edgecore,看下這篇的長度就知道配置過程有多艱辛【最新版kubeEdge保姆級安裝配置教程】kubeEdge v1.7使用keadm安裝(半手動安裝)_大宇醒言-CSDN博客_kubeedge 安裝
    安裝各種組件的時候需要指定amd還是arm版本,如果是用在樹莓派上要注意使用arm對應的安裝包
  2. 邊緣節點沒法知道全局的情況,比如kubectl get node這類命令(沒有實際嘗試,問了使用過的一些同學),但是k3s支持,經過簡單配置即可從agent節點看到全局的情況
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章