Rancher Labs推出新的Kubernetes開源專案K3s,這是一個輕量級大小只有40MB,且易於安裝的Kubernetes發布版本,專為資源有限和低互動的系統而設計,適用於邊緣應用、物聯網、持續整合以及ARM等使用情境。K3s現可用於x86_64、ARMv7和ARM64系統上執行。

K3s最初只是容器解決方案Rio的一個嵌入式元件,Rio需要在Kubernetes上運作,因此Rancher Labs在Rio解決方案中放進了一個完整的Kubernetes叢集,但是他們認為Rio占用太多記憶體,因此開始刪除不需要的Kubernetes元件,經過了一段實驗探索的階段,Rancher Labs找到了對Kubernetes真正的需求,因此把K3s從Rio專案中拉出來,成為一個獨立的專案,他們提到,之所以能夠大幅降低Kubernetes大小,是因為移除Kubernetes老舊以及Alpha測試功能。

K3s被打包成一個40MB的二進位檔案,而在這個二進位檔案包含了所有運作Kubernetes需要的一切資源,包括容器Runtime,以及iptables、socat、du等重要主機程式,唯一的作業系統相依為Linux核心本身,以及Linux發行版的dev、proc和sysfs掛載。K3s將Kubernetes的元件綑綁成組合程序,這些程序會以伺服器以及代理模型的形式呈現,運作K3s伺服器將會啟動Kubernetes伺服器,並自動地註冊本機為代理,而這會創建具有一個節點的Kubernetes叢集,當然使用者也可以在這個叢集中,增加其他節點。

除了核心Kubernetes元件,K3s還加入Containerd、Flannel、CoreDNS、Traefik Ingress控制器以及基於主機連接埠的服務負載平衡器,Rancher Labs提到,利用這些元件,使用者可以打造出符合CNCF標準的叢集,但不使用這些元件也可以,使用者可以依照自己的喜好置換。

雖然最初K3s只專注於Rio上需要的功能,但Rancher Labs希望將其支援範圍,擴展到可以完全相容於Kubernetes叢集,因此現在K3s是一個完全認證的Kubernetes發布版本,其記憶體使用量只有vanilla Kubernetes的四分之一,Rancher Labs提到,Docker單節點Kubernetes 1.13.3叢集,使用的記憶體略超過1GiB,而相等的K3s設定,只使用約260MiB的記憶體,這還包含了Ingress控制器以及服務附載平衡器。


Advertisement

更多 iThome相關內容