Rancher 開源 K3s:邊緣計算場景下的輕量級 K8s 發行版
2019 年 2 月 26 日,容器管理軟體提供商 Rancher Labs(以下簡稱 Rancher)宣佈推出輕量級的 Kubernetes 發行版 K3s,這款產品專為在資源有限的環境中執行 Kubernetes 的研發和運維人員設計。Rancher 此次釋出的 K3s,將滿足在邊緣計算環境中執行在 x86、ARM64 和 ARMv7 處理器上的小型、易於管理的 Kubernetes 叢集日益增長的需求。
K3s 如何縮減 K8s 的大小
根據 Rancher 的部落格 ,為了減少執行 Kubernetes 所需記憶體,Rancher K3s 開發團隊主要專注於以下四個方面的主要變化:
- 刪除舊的、非必須的程式碼:K3s 不包括任何預設禁用的 Alpha 功能或者過時的功能,原有的 API 元件目前仍運行於標準部署當中。除此之外,Rancher 還刪除了所有非預設許可控制器,in- tree 雲提供商和儲存驅動程式,但允許使用者新增任何他們需要的驅動程式。
- 整合正在執行的打包程序:為了節省 RAM,Rancher 將通常在 Kubernetes 管理伺服器上執行的多流程合併為單個流程。Rancher 還將在工作節點上執行的 kubelet、kubeproxy 和 flannel 代理程序組合成一個程序。
- 使用 containerd 代替 Docker 作為執行時的容器引擎:通過用 containderd 替換 Docker,Rancher 能夠顯著減少執行時佔用空間,刪除 libnetwork、swarm、Docker 儲存驅動程式和其他外掛等功能。
- 除了 etcd 之外,引入 SQLite 作為可選的資料儲存:Rancher 在 k3s 中添加了 SQLite 作為可選的資料儲存,從而為 etcd 提供了一個輕量級的替代方案。該方案不僅佔用了較少的記憶體,而且大幅簡化了操作。
適合邊緣計算場景,降低運維難度
隨著 Kubernetes 的部署開始有邊緣部署的發展趨勢,企業需要運維管理的 Kubernetes 叢集數量正在迅速增加。在許多最有趣的邊緣計算用例當中,組織將執行成千上萬的只有一個、兩個或者三個節點的 Kubernetes 叢集,運維人員需要負責管理如此大規模的基礎架構,而 K3s 正是為此而生,旨在最大限度地簡化使用者的安裝和操作體驗。K3s 主要功能包括:
- 生產級 Kubernetes:K3s 是一個符合標準的、已獲 CNCF 官方認證的 Kubernetes 發行版。
- 一個沒有主機依賴的二進位制檔案:在任何裝置上安裝 Kubernetes 所需的一切都包含在這一個 40MB 的二進位制檔案當中,不需要像 KuberSpray、KubeADM 或者 RKE 這樣的外部安裝程式。只需要一個命令,使用者就可以配置或者升級單節點 K3s 叢集。
- 一條命令,向叢集新增節點:若想向叢集新增其他節點,管理員只需在新節點上執行一條命令,指向原始伺服器,通過安全 token 傳遞即可。
- 自動生成證書:叢集啟動時,在 Kubernetes 主伺服器和節點之間建立 TLS 所需的所有證書都會被自動建立,還會自動建立服務賬號的加密金鑰。
Rancher 同時釋出了支援 x86_64、ARM64 和 ARMv7 架構的 K3s,使 K3s 得以更加靈活地跨任何邊緣基礎架構工作。除了邊緣計算的使用場景,K3s 還非常適合那些尋求簡單方法來部署 Kubernetes 輕量級發行版的使用者。在早期技術預覽期間,許多使用者反饋說 K3s 對於 CI/CD 環境、嵌入式系統和本地 Kubernetes 部署特別有幫助。
K3s 的四大使用場景為:
- 邊緣計算
- 與應用程式繫結使用
- 嵌入式裝置
- CI 環境
K3s 官網主頁現已上線,可以訪問https://k3s.io 瞭解 K3s 專案的更多資訊。
K3s GitHub 地址:https://github.com/rancher/k3s