日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
從架構(gòu)到部署,全面了解K3s

從架構(gòu)到部署,全面了解K3S

作者:k3s中文社區(qū) 2020-09-11 19:41:06

云計(jì)算 Kubernetes無(wú)處不在——開(kāi)發(fā)者的筆記本、樹(shù)莓派、云、數(shù)據(jù)中心、混合云甚至多云上都有Kubernetes。它已然成為現(xiàn)代基礎(chǔ)設(shè)施的基礎(chǔ),抽象了底層的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)服務(wù)。Kubernetes隱藏了各種基礎(chǔ)設(shè)施環(huán)境之間的差異,它將多云變成了現(xiàn)實(shí)。

成都創(chuàng)新互聯(lián)專(zhuān)注于宜興網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供宜興營(yíng)銷(xiāo)型網(wǎng)站建設(shè),宜興網(wǎng)站制作、宜興網(wǎng)頁(yè)設(shè)計(jì)、宜興網(wǎng)站官網(wǎng)定制、成都小程序開(kāi)發(fā)服務(wù),打造宜興網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供宜興網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。

Kubernetes無(wú)處不在——開(kāi)發(fā)者的筆記本、樹(shù)莓派、云、數(shù)據(jù)中心、混合云甚至多云上都有Kubernetes。它已然成為現(xiàn)代基礎(chǔ)設(shè)施的基礎(chǔ),抽象了底層的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)服務(wù)。Kubernetes隱藏了各種基礎(chǔ)設(shè)施環(huán)境之間的差異,它將多云變成了現(xiàn)實(shí)。

Kubernetes也成為了編排的通用控制平面,不僅僅是容器編排,還包括虛擬機(jī)、數(shù)據(jù)庫(kù),甚至SAP Hana實(shí)例等各種資源。

盡管Kubernetes發(fā)展迅猛,但還是給開(kāi)發(fā)者和運(yùn)營(yíng)商拋出了許多挑戰(zhàn)。其中一個(gè)關(guān)鍵挑戰(zhàn)是在邊緣運(yùn)行Kubernetes。與云或數(shù)據(jù)中心相比,邊緣是非常不同的。它運(yùn)行在一個(gè)高度受限環(huán)境中的遠(yuǎn)程位置。與運(yùn)行在數(shù)據(jù)中心的同類(lèi)設(shè)備相比,邊緣設(shè)備的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源只有一小部分。邊緣設(shè)備與云的連接是斷斷續(xù)續(xù)的,而且它們主要在離線環(huán)境中運(yùn)行。這些因素使得很難在邊緣部署和管理Kubernetes集群。

基于此,業(yè)界應(yīng)用最為廣泛的K8S管理平臺(tái)創(chuàng)建者Rancher Labs發(fā)布了K3s,這是一個(gè)Kubernetes的發(fā)行版,它針對(duì)邊緣進(jìn)行了高度優(yōu)化。雖然K3s是Kubernetes的簡(jiǎn)化版、迷你版,但API的一致性和功能并沒(méi)有受到影響。從kubectl到Helm再到Kubernetes,幾乎所有的云原生生態(tài)系統(tǒng)的工具都能與K3s無(wú)縫對(duì)接。實(shí)際上,K3s是一個(gè)經(jīng)過(guò)CNCF認(rèn)證的、符合要求的Kubernetes發(fā)行版,可以在生產(chǎn)環(huán)境中部署。幾乎所有運(yùn)行完整的Kubernetes集群的工作負(fù)載都能保證在K3s集群上工作。

Kubernetes這個(gè)10個(gè)字母的單詞,在社區(qū)里被稱(chēng)為K8S。由于K3s正好是Kubernetes內(nèi)存的一半,Rancher為新的發(fā)行版找到了一個(gè)5個(gè)字母的單詞,并將其簡(jiǎn)稱(chēng)為K3s。

深入了解K3s架構(gòu)

K3s的魅力在于它的簡(jiǎn)單性。作為一個(gè)單一的二進(jìn)制文件(約100MB)進(jìn)行打包和部署,你只需幾秒鐘就可以得到一個(gè)完全成熟的Kubernetes集群。安裝體驗(yàn)就像在集群的每個(gè)節(jié)點(diǎn)上運(yùn)行一個(gè)腳本一樣簡(jiǎn)單。

K3s二進(jìn)制文件是一個(gè)自給自足的封裝實(shí)體,它幾乎運(yùn)行了Kubernetes集群的所有組件,包括API server、scheduler和controller。默認(rèn)情況下,每個(gè)K3s的安裝都包括控制平面、kubelet和containerd運(yùn)行時(shí),這些已經(jīng)足以運(yùn)行Kubernetes工作負(fù)載。當(dāng)然,也可以添加只運(yùn)行kubelet agent和containerd運(yùn)行時(shí)的專(zhuān)用worker節(jié)點(diǎn),來(lái)調(diào)度和管理pod生命周期。

與傳統(tǒng)的Kubernetes集群相比,K3s中的master節(jié)點(diǎn)和worker節(jié)點(diǎn)沒(méi)有明顯的區(qū)別。可以在任何節(jié)點(diǎn)上調(diào)度和管理Pod,不管它們扮演的是什么角色。所以,master節(jié)點(diǎn)和worker節(jié)點(diǎn)的命名方式不適用于k3s集群。

在k3s集群中,將運(yùn)行控制平面組件與kubelet的節(jié)點(diǎn)稱(chēng)為server,而只運(yùn)行kubelet的節(jié)點(diǎn)稱(chēng)為agent。server和agent都有容器運(yùn)行時(shí)和一個(gè)kubeproxy,管理整個(gè)集群的tunnel和網(wǎng)絡(luò)流量。

在典型的k3s環(huán)境中,你運(yùn)行一個(gè)server和多個(gè)agent。在安裝過(guò)程中,如果你傳遞了server的URL,節(jié)點(diǎn)就會(huì)變成一個(gè)agent;否則,你最終會(huì)運(yùn)行另一個(gè)獨(dú)立的k3s集群,有自己的控制平面。

那么,Rancher是如何降低k3s的內(nèi)存呢?首先,他們?nèi)コ薑ubernetes的很多可選組件,這些組件對(duì)于運(yùn)行一個(gè)最低限度的集群來(lái)說(shuō)并不重要。然后,它增加了一些必要的元素,包括containerd、Flannel、CoreDNS、CNI、Traefik ingress controller、本地存儲(chǔ)程序、一個(gè)嵌入式服務(wù)負(fù)載均衡器和一個(gè)集成的網(wǎng)絡(luò)策略controller。所有這些組件都被打包成一個(gè)二進(jìn)制文件,并在同一個(gè)進(jìn)程中運(yùn)行。除了這些,該發(fā)行版還支持開(kāi)箱即用的Helm chart。

上游的Kubernetes發(fā)行版是臃腫的,有很多代碼可以刪除。例如,存儲(chǔ)volume插件和云提供商API,這些會(huì)極大增加發(fā)行版的內(nèi)存。K3s省略了所有這些,以最大限度地減少二進(jìn)制的大小。

另一個(gè)關(guān)鍵的區(qū)別是集群狀態(tài)的管理方式。Kubernetes依靠分布式鍵值數(shù)據(jù)庫(kù)etcd來(lái)存儲(chǔ)整個(gè)集群的狀態(tài)。K3s用名為SQLite的輕量級(jí)數(shù)據(jù)庫(kù)取代了etcd,SQLite是一個(gè)成熟的嵌入式場(chǎng)景數(shù)據(jù)庫(kù)。很多移動(dòng)應(yīng)用都會(huì)捆綁SQLite來(lái)存儲(chǔ)狀態(tài)。

通過(guò)在至少三個(gè)節(jié)點(diǎn)上運(yùn)行etcd,Kubernetes控制平面變得高度可用。另一方面,SQLite并不是分布式數(shù)據(jù)庫(kù),它成為為了實(shí)現(xiàn)控制平面的高可用,K3s server可以指向外部數(shù)據(jù)庫(kù)端點(diǎn)。支持的數(shù)據(jù)庫(kù)包括etcd、MySQL和PostgreSQL。通過(guò)有效地將狀態(tài)委托給外部數(shù)據(jù)庫(kù),K3s支持多個(gè)控制平面實(shí)例,使得集群具有高可用性。

Rancher正在試驗(yàn)一種名為DQLite的分布式版本的SQLite,它最終可能會(huì)成為K3s的默認(rèn)數(shù)據(jù)存儲(chǔ)。

K3s最大的優(yōu)點(diǎn)是它的 “包含電池但可替換 "的方式。例如,我們可以用Docker CE運(yùn)行時(shí)替換containerd運(yùn)行時(shí),用Calico替換Flannel,用Longhorn替換本地存儲(chǔ)等等。

關(guān)于K3s架構(gòu)的詳細(xì)討論,我強(qiáng)烈推薦你觀看K3s的架構(gòu)師Darren Shepherd在北美KubeCon 2019上的演講:https://youtu.be/-HchRyqNtkU

K3s部署場(chǎng)景和拓?fù)浣Y(jié)構(gòu)

K3s發(fā)行版支持多種架構(gòu),包括AMD64、ARM64和ARMv7。憑借一致的安裝體驗(yàn),K3s可以在Raspberry Pi Zero、NVIDIA Jetson Nano、Intel NUC或Amazon EC2 a1.4xlarge實(shí)例上運(yùn)行。

在你需要一個(gè)單節(jié)點(diǎn)Kubernetes集群來(lái)維護(hù)部署manifest的相同工作流程的環(huán)境中,請(qǐng)?jiān)诜?wù)器或邊緣設(shè)備上安裝K3s。這使你可以靈活地使用你現(xiàn)有的CI/CD流水線和容器鏡像以及Helm chart或YAML文件。

如果你需要一個(gè)在AMD64或ARM64架構(gòu)上運(yùn)行的高可用集群,安裝一個(gè)3節(jié)點(diǎn)的etcd集群,然后是3個(gè)K3s server和一個(gè)或多個(gè)agent。這樣就可以為你提供一個(gè)生產(chǎn)級(jí)的環(huán)境,并為控制平面提供HA。

當(dāng)在云中運(yùn)行K3s集群時(shí),將server指向一個(gè)托管數(shù)據(jù)庫(kù),如Amazon RDS或Google Cloud SQL,以運(yùn)行一個(gè)具有多個(gè)agent的高可用控制平面。每個(gè)K3s server可以運(yùn)行在不同的可用性區(qū)域,以獲得最大的正常運(yùn)行時(shí)間。

如果你在具有可靠的、始終在線連接的邊緣計(jì)算環(huán)境中運(yùn)行K3s,則在云中運(yùn)行server,在邊緣運(yùn)行agent。這使你可以靈活地在云中運(yùn)行一個(gè)高可用和可管理的控制平面,同時(shí)在遠(yuǎn)程環(huán)境中運(yùn)行agent。

最后,你可以將K3s HA控制平面部署在5G邊緣位置,如AWS Wavelength和Azure Edge Zones環(huán)境中,agent在設(shè)備中運(yùn)行。這種拓?fù)浣Y(jié)構(gòu)呼應(yīng)了智能建筑、智能工廠和智能醫(yī)療場(chǎng)景。


當(dāng)前題目:從架構(gòu)到部署,全面了解K3s
網(wǎng)站URL:http://www.dlmjj.cn/article/dhidsdd.html