2019年2月26日,Rancher Labs(如下簡稱Rancher)宣佈推出輕量級Kubernetes發行版K3s(已開源),這款產品專爲在資源有限的環境中運行Kubernetes的研發和運維人員設計。Rancher這次發佈的K3s項目,將知足在邊緣計算環境中運行在x8六、ARM64和ARMv7處理器上的小型、易於管理的Kubernetes集羣日益增加的需求。 |
K3s如何減小Kubernetes的大小linux
爲了減小運行Kubernetes所需內存,K3s開發團隊主要專一於如下四個方面的主要變化:安全
刪除舊的、非必須的代碼:K3s不包括任何默認禁用的Alpha功能或者過期的功能,原有的API組件目前仍運行於標準部署當中。除此以外,Rancher還刪除了全部非默認許可控制器,in- tree雲提供商和存儲驅動程序,但容許用戶添加任何他們須要的驅動程序。 整合正在運行的打包進程:爲了節省RAM,K3s將一般在Kubernetes管理服務器上運行的多流程合併爲單個流程。還將在工做節點上運行的kubelet、kubeproxy和flannel代理進程組合成一個進程。 使用containerd代替Docker做爲運行時的容器引擎:經過用containderd替換Docker,K3s可以顯著減小運行時佔用空間,刪除libnetwork、swarm、Docker存儲驅動程序和其餘插件等功能。 除了 etcd 以外,引入 SQLite 做爲可選的數據存儲:在k3s中添加了SQLite做爲可選的數據存儲,從而爲etcd提供了一個輕量級的替代方案。該方案不只佔用了較少的內存,並且大幅簡化了操做。
推進Kubernetes在邊緣計算場景落地服務器
隨着Kubernetes的部署開始有邊緣部署的發展趨勢,企業須要運維管理的Kubernetes集羣數量正在迅速增長。在許多最有趣的邊緣計算用例當中,組織將運行成千上萬的只有一個、兩個或者三個節點的Kubernetes集羣,運維人員須要負責管理如此大規模的基礎架構,而K3s正是爲此而生,旨在最大限度地簡化用戶的安裝和操做體驗。K3s主要功能包括:架構
生產級Kubernetes:K3s是一個符合標準的、已獲CNCF官方認證的Kubernetes發行版。 一個沒有主機依賴的二進制文件:在任何設備上安裝Kubernetes所需的一切都包含在這一個40MB的二進制文件當中,不須要像KuberSpray、KubeADM或者RKE這樣的外部安裝程序。只須要一個命令,用戶就能夠配置或者升級單節點K3s集羣。 一條命令,向集羣添加節點:若想向集羣添加其餘節點,管理員只需在新節點上運行一條命令,指向原始服務器,經過安全token傳遞便可。 自動生成證書:集羣啓動時,在Kubernetes主服務器和節點之間創建TLS所需的全部證書都會被自動建立,還會自動建立服務帳號的加密密鑰。
K3s支持x86_6四、ARM64和ARMv7架構,使K3s得以更加靈活地跨任何邊緣基礎架構工做。除了邊緣計算的使用場景,K3s還很是適合那些尋求簡單方法來部署Kubernetes輕量級發行版的用戶。在早期技術預覽期間,許多用戶反饋說K3s對於CI/CD環境、嵌入式系統和本地Kubernetes部署特別有幫助。運維
K3s使用場景加密
邊緣計算 與應用程序綁定使用 嵌入式設備 CI環境