<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 3876字,需瀏覽 8分鐘

           ·

          2020-08-27 09:05

          作者簡介

          Janakiram MSV是Janakiram & Associates的首席分析師,也是國際信息技術(shù)學(xué)院的兼職教師。他也是Google Qualified Developer、亞馬遜認證解決方案架構(gòu)師、亞馬遜認證開發(fā)者、亞馬遜認證SysOps管理員和微軟認證Azure專業(yè)人員。


          Janakiram是云原生計算基金會的大使,也是首批Kubernetes認證管理員和Kubernetes認證應(yīng)用開發(fā)者之一。他曾在微軟、AWS、Gigaom Research等知名公司工作。


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


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


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


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


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


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


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


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


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


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



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


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


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


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



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


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



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


          關(guān)于K3s架構(gòu)的詳細討論,我強烈推薦你觀看K3s的架構(gòu)師Darren Shepherd在北美KubeCon 2019上的演講:

          https://youtu.be/-HchRyqNtkU


          K3s部署場景和拓撲結(jié)構(gòu)


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


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


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


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


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


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


          在此系列的下一篇文章中,我將介紹在邊緣環(huán)境中部署HA集群的步驟,保持關(guān)注!


          原文鏈接:

          https://thenewstack.io/how-rancher-labs-k3s-makes-it-easy-to-run-kubernetes-at-the-edge/


          推薦閱讀

          K3s+Ambassador,強大的輕量級K8S解決方案

          這應(yīng)該是最適合國內(nèi)用戶的K3s HA方案

          在K3s上使用Kong網(wǎng)關(guān)插件,開啟K3s的無限可能!



          About k3s


          k3s 是目前全球用戶量最大的 CNCF 認證輕量級 K8S 發(fā)行版。自 2019 年 3 月發(fā)布以來,備受全球開發(fā)者們關(guān)注。至今,GitHub Stars 數(shù)已超過 13,000,成為了開源社區(qū)最受歡迎的邊緣計算 K8S 解決方案。


          k3s 專為在資源有限的環(huán)境中運行 Kubernetes 的研發(fā)和運維人員設(shè)計,將滿足日益增長的在邊緣計算環(huán)境中運行在 x86、ARM64 和 ARMv7 處理器上的小型、易于管理的 Kubernetes 集群需求。k3s 的發(fā)布,為開發(fā)者們提供了以“Rancher 2.X + k3s”為核心的從數(shù)據(jù)中心到云到邊到端的 K8S 即服務(wù)(Kubernetes-as-a-Service),推動 Kubernetes Everywhere。

          掃碼添加k3s中文社區(qū)助手

          加入官方中文技術(shù)社區(qū)

          官網(wǎng):https://k3s.io

          瀏覽 167
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  最近日韩中文字幕中文翻译歌词 | 国产成人一区二区三区A片免费 | 鸡巴操穴视频 | 日韩亚洲欧美中文高清在线 | 国产黄色电影 |