2019年11月19日桑嘶,業(yè)界應(yīng)用最為廣泛的Kubernetes管理平臺(tái)創(chuàng)建者Rancher Labs(以下簡稱Rancher)宣布,Rancher打造的輕量級(jí)Kubernetes發(fā)行版k3s正式GA篡撵,這是k3s一個(gè)里程碑版本判莉。K3s是一個(gè)通過了CNCF一致性認(rèn)證的輕量級(jí)Kubernetes發(fā)行版,專為在資源有限的環(huán)境設(shè)計(jì)育谬。初發(fā)布時(shí)k3s大小不到40MB(現(xiàn)約60MB)骂租、內(nèi)存消耗小于500MB的二進(jìn)制文件。并且支持x86_64斑司、Arm64和Armv7,擁有生產(chǎn)級(jí)但汞、高可用的架構(gòu)宿刮,能在邊緣場景中自動(dòng)初始化并維護(hù)集群。自今年年初發(fā)布至今私蕾,k3s在Github上已經(jīng)擁有超過10000顆star僵缺。
“現(xiàn)有的Kubernetes發(fā)行版通常是內(nèi)存密集型的,在邊緣計(jì)算環(huán)境中顯得過于復(fù)雜踩叭】某保”Rancher聯(lián)合創(chuàng)始人及CEO梁勝表示:“在過去的一年間,和Rancher達(dá)成合作的企業(yè)客戶中有數(shù)十個(gè)都向我們表達(dá)過容贝,他們認(rèn)為Kubernetes是管理邊緣基礎(chǔ)設(shè)施的理想平臺(tái)自脯,但他們不愿意在他們的邊緣設(shè)備中投入大量資源來運(yùn)行一個(gè)成熟的Kubernetes平臺(tái)。通過K3s斤富,我們可以為這些團(tuán)隊(duì)提供一個(gè)小于512MB RAM的Kubernetes發(fā)行版膏潮,非常適用于邊緣計(jì)算的用例。零售满力、金融焕参、電信、公共事業(yè)和制造業(yè)的企業(yè)將對(duì)K3s有非常大的需求油额〉祝”
k3s有多輕量?
k3s大小僅有60MB潦嘶,小于512MB RAM即可運(yùn)行涩嚣。為了減少運(yùn)行Kubernetes所需內(nèi)存,Rancher K3s開發(fā)團(tuán)隊(duì)主要專注于以下四個(gè)方面的主要變化:
- 刪除舊的衬以、非必須的代碼:K3s不包括任何默認(rèn)禁用的Alpha功能或者過時(shí)的功能缓艳,原有的API組件目前仍運(yùn)行于標(biāo)準(zhǔn)部署當(dāng)中。除此之外看峻,Rancher還刪除了所有非默認(rèn)許可控制器阶淘,in- tree云提供商和存儲(chǔ)驅(qū)動(dòng)程序,但允許用戶添加任何他們需要的驅(qū)動(dòng)程序互妓。
- 整合正在運(yùn)行的打包進(jìn)程:為了節(jié)省RAM溪窒,Rancher將通常在Kubernetes管理服務(wù)器上運(yùn)行的多流程合并為單個(gè)流程坤塞。Rancher還將在工作節(jié)點(diǎn)上運(yùn)行的kubelet、kubeproxy和flannel代理進(jìn)程組合成一個(gè)進(jìn)程澈蚌。
- 使用containerd代替Docker作為運(yùn)行時(shí)的容器引擎:通過用containderd替換Docker摹芙,Rancher能夠顯著減少運(yùn)行時(shí)占用空間,刪除libnetwork宛瞄、swarm浮禾、Docker存儲(chǔ)驅(qū)動(dòng)程序和其他插件等功能。
- 除了 etcd 之外份汗,引入 SQLite 作為可選的數(shù)據(jù)存儲(chǔ):Rancher在k3s中添加了SQLite作為可選的數(shù)據(jù)存儲(chǔ)盈电,從而為etcd提供了一個(gè)輕量級(jí)的替代方案。該方案不僅占用了較少的內(nèi)存杯活,而且大幅簡化了操作匆帚。
k3s有多簡單?
對(duì)于許多開發(fā)人員以及運(yùn)維人員來說旁钧,掌握Kubernetes并非易事吸重,即便是在資源充足的環(huán)境下部署或運(yùn)行Kubernetes集群也會(huì)面臨諸多挑戰(zhàn)。因此歪今,Kubernetes運(yùn)維的復(fù)雜性更是無法滿足邊緣計(jì)算中“離線管理”的需求嚎幸。而k3s完全能夠解決這一痛點(diǎn),它只需一條命令即可完成安裝配置和升級(jí)寄猩。
安裝步驟
1鞭铆、 下載k3s:
https://github.com/rancher/k3s/releases/tag/v1.0.0
2、 運(yùn)行server
sudo k3s server &
# Kubeconfig is written to /etc/rancher/k3s/k3s.yaml
sudo k3s kubectl get node
# 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的安裝车遂,最大限度地簡化了用戶的安裝和操作體驗(yàn),以減輕運(yùn)維人員的管理負(fù)擔(dān)斯辰,滿足邊緣計(jì)算場景中管理大規(guī)牟暗#基礎(chǔ)架構(gòu)的需求。
k3s可以怎么用彬呻?
k3s這一產(chǎn)品的發(fā)布是Rancher所一直秉承的“Run Kubernetes Everywhere”這一理念的直接體現(xiàn)衣陶,它實(shí)現(xiàn)了從數(shù)據(jù)中心從云到邊到端的Kubernetes-as-a-service。K3s為制造業(yè)闸氮、交通剪况、能源、零售業(yè)蒲跨、銀行等諸多垂直領(lǐng)域的客戶译断,提供了全新的Kubernetes落地思路與路徑。
由于K3s同時(shí)支持x86_64或悲、ARM64和ARMv7架構(gòu)孙咪,使得它得以更加靈活地跨任何邊緣基礎(chǔ)架構(gòu)工作堪唐。除了邊緣計(jì)算的使用場景,K3s還非常適合那些尋求簡單方法來部署Kubernetes輕量級(jí)發(fā)行版的用戶翎蹈。在早期技術(shù)預(yù)覽期間淮菠,許多用戶反饋說K3s對(duì)于CI/CD環(huán)境、嵌入式系統(tǒng)和本地Kubernetes部署特別有幫助荤堪。
K3s的四大使用場景為:
邊緣計(jì)算
與應(yīng)用程序綁定使用
嵌入式設(shè)備
CI環(huán)境
“我們有著超過30,000個(gè)風(fēng)力發(fā)電機(jī)在投產(chǎn)使用中合陵,K3s的出現(xiàn)讓我們無比興奮與期待,因?yàn)樗馕吨覀儗⒖梢栽诔汕先f個(gè)邊緣計(jì)算的位置部署Kubernetes集群澄阳∈锕眩”世界第二大風(fēng)力發(fā)電機(jī)制造商金風(fēng)慧能技術(shù)副總經(jīng)理張偉表示。
一切開源寇荧,歡迎使用
k3s官網(wǎng):https://k3s.io/
k3s GitHub主頁:https://github.com/rancher/k3s/