【云原生 ? Kubernetes】認(rèn)識 k8s网缝、k8s 架構(gòu)、核心概念點(diǎn)介紹

【云原生 ? Kubernetes】認(rèn)識 k8s蟋定、k8s 架構(gòu)粉臊、核心概念點(diǎn)介紹

一、Kubernetes 簡介

Kubernetes 簡稱 k8s驶兜,是支持云原生部署的一個平臺扼仲,起源于谷歌。谷歌早在十幾年之前就對其應(yīng)用抄淑,通過容器方式進(jìn)行部署屠凶。

k8s 本質(zhì)上就是用來簡化微服務(wù)的開發(fā)和部署的,關(guān)注點(diǎn)包括自愈和自動伸縮蝇狼、調(diào)度和發(fā)布阅畴、調(diào)用鏈監(jiān)控、配置管理迅耘、Metrics 監(jiān)控贱枣、日志監(jiān)控监署、彈性和容錯、API 管理纽哥、服務(wù)安全等钠乏,k8s 將這些微服務(wù)的公共關(guān)注點(diǎn)以組件形式封裝打包到 k8s 這個大平臺中,讓開發(fā)人員在開發(fā)微服務(wù)時專注于業(yè)務(wù)邏輯的實(shí)現(xiàn)春塌,而不需要去特別關(guān)系微服務(wù)底層的這些公共關(guān)注點(diǎn)晓避,大大簡化了微服務(wù)應(yīng)用的開發(fā)和部署,提高了開發(fā)效率只壳。

二俏拱、Kubernetes 架構(gòu)

k8s 總體架構(gòu)采用了經(jīng)典的 master slave 架構(gòu)模式,分 master 節(jié)點(diǎn)和 worker 節(jié)點(diǎn)吼句,節(jié)點(diǎn)可以是虛擬機(jī)也可以是物理機(jī)锅必。

master 節(jié)點(diǎn)由以下組件組成;

etcd惕艳,一種的分布式存儲機(jī)制搞隐,底層采用 Raft 協(xié)議,k8s 集群的狀態(tài)數(shù)據(jù)包括配置远搪、節(jié)點(diǎn)等都存儲于 etcd 中劣纲,它保存了整個集群的狀態(tài)。

API server谁鳍,對外提供操作和獲取 k8s 集群資源的的 API癞季,是唯一操作 etcd 的組件,其他的組件包括管理員操作都是通過 API server 進(jìn)行交互的棠耕,可以將它理解成 etcd 的 “代理人”余佛。

Scheduler,在 k8s 集群中做調(diào)動決策窍荧,負(fù)責(zé)資源的調(diào)度辉巡,按照預(yù)定的調(diào)度策略將 Pod 調(diào)度到相應(yīng)的機(jī)器上。

Controller Manager蕊退,相當(dāng)于集群狀態(tài)的協(xié)調(diào)者郊楣,觀察著集群的實(shí)際狀態(tài),與 etcd 中的預(yù)期狀態(tài)進(jìn)行對比瓤荔,如果不一致則對資源進(jìn)行協(xié)調(diào)操作讓實(shí)際狀態(tài)和預(yù)期狀態(tài)達(dá)到最終的一致净蚤,維護(hù)集群的狀態(tài),比如故障檢測输硝、自動擴(kuò)展今瀑、滾動更新等。

worker 節(jié)點(diǎn)由以下組件組成:

Controller Runtime,下載鏡像和運(yùn)行容器的組件橘荠,負(fù)責(zé)鏡像管理以及 Pod 和容器的真正運(yùn)行(CRI)屿附。

Pod,k8s 中特有的一個概念哥童,可以理解為對容器的包裝挺份,是 k8s 的基本調(diào)度單位,實(shí)際的容器時運(yùn)行在 Pod 中的贮懈,一個節(jié)點(diǎn)可以啟動一個或多個 Pod匀泊。

kubelet,負(fù)責(zé)管理 worker 節(jié)點(diǎn)上的組件朵你,與 master 節(jié)點(diǎn)上的 API server 節(jié)點(diǎn)進(jìn)行交互各聘,接受指令執(zhí)行操作。

kube-proxy撬呢,負(fù)責(zé)對 Pod 進(jìn)行尋址和負(fù)載均衡

用戶操作 k8s 集群一般是通過 kubectl 命令行工具或者 dashboard伦吠;Pod 之間進(jìn)行通訊是通過集群內(nèi)部的覆蓋網(wǎng)絡(luò) Overlay Network,外部流量想要進(jìn)入集群訪問 Pod 則是通過負(fù)載均衡 Load Balander 設(shè)備進(jìn)行魂拦。

三、Kunbernetes 有哪些核心概念搁嗓?

1. 集群 Cluster

集群有多個節(jié)點(diǎn)組成且可以按需添加節(jié)點(diǎn)(物理機(jī)/虛擬機(jī))芯勘,每一個節(jié)點(diǎn)都包含一定數(shù)量的 CPU 和內(nèi)存 RAM。

2. 容器 Container

k8s 本身是一個容器調(diào)度平臺腺逛,從宿主機(jī)操作系統(tǒng)來看荷愕,容器就是一個一個的進(jìn)程。從容器內(nèi)部來看容器就是一個操作系統(tǒng)棍矛,它有著自己的網(wǎng)絡(luò)安疗、CPU、文件系統(tǒng)等資源够委。

3. POD

k8s 也不是直接調(diào)度容器的荐类,而是將其封裝成了一個個 POD,POD 才是 k8s 的基本調(diào)度單位茁帽。每個 POD 中可以運(yùn)行一個或多個容器玉罐,共享 POD 的文件系統(tǒng)、IP 和網(wǎng)絡(luò)等資源潘拨,每一個 POD 只有一個 IP吊输。

4. 副本集 ReplicaSet

一個應(yīng)用發(fā)布時會發(fā)布多個 POD 實(shí)例,副本集可對應(yīng)一個應(yīng)用的一組 POD铁追,它可以通過模板來規(guī)范某個應(yīng)用的容器鏡像季蚂、端口,副本數(shù)量等。運(yùn)行時副本集會監(jiān)控和維護(hù) POD 的數(shù)量扭屁,數(shù)量過多則會下線 POD算谈,過少則啟動 POD。

5. 服務(wù) service

POD 在 k8s 中是不固定的疯搅,可能會掛起或者重啟濒生,且掛起重啟都是不可預(yù)期的,那么這就會導(dǎo)致服務(wù)的 IP 也隨著不停的變化幔欧,給用戶的尋址造成一定的困難罪治。而 service 就是用來解決這個問題的,它屏蔽了應(yīng)用的 IP 尋址和負(fù)載均衡礁蔗,消費(fèi)方可直接通過服務(wù)名來訪問目標(biāo)服務(wù)觉义,尋址和負(fù)載均衡均由 service 底層進(jìn)行。

6. 發(fā)布 Deployment

副本集就是一種基本的發(fā)布機(jī)制浴井,可以實(shí)現(xiàn)基本的或者高級的應(yīng)用發(fā)布晒骇,但操作較為繁瑣。未來簡化這些操作磺浙,k8s 引入了 Deployment 來管理 ReplicaSet洪囤,實(shí)現(xiàn)一些高級發(fā)布機(jī)制。

7. ConfigMap/Secret

微服務(wù)在上線時需要設(shè)置一些可變配置撕氧,環(huán)境不同則配置值不同瘤缩,有些配置如數(shù)據(jù)庫的連接字符串在啟動時就應(yīng)該配好,有些配置則可以在運(yùn)行中動態(tài)調(diào)整伦泥。為了實(shí)現(xiàn)針對不同環(huán)境靈活實(shí)現(xiàn)動態(tài)配置剥啤,微服務(wù)就需要 ConfigMap 的支持。

k8s 平臺內(nèi)置支持微服務(wù)的配置(ConfigMap)不脯,開發(fā)人員將配置填寫在 ConfigMap 中府怯,k8s 再 將 ConfigMap 中的配置以環(huán)境變量的形式注入 POD,這樣 POD 中的應(yīng)用就可以訪問這些配置防楷。

Secret 是一種特殊的 ConfigMap牺丙,提供更加安全的存儲和訪問配置機(jī)制。

8. DaemonSet

在微服務(wù)中域帐,每個節(jié)點(diǎn)需要配置一個常駐守護(hù)進(jìn)程赘被。DaemonSet 可支持在每一個 worker 節(jié)點(diǎn)上面配置一個守護(hù)進(jìn)程 POD 并且保證每一個節(jié)點(diǎn)上有且僅有一個 POD。

9. 核心概念總結(jié)

————————————————

版權(quán)聲明:本文為CSDN博主「Developer 小馬」的原創(chuàng)文章肖揣,遵循CC 4.0 BY-SA版權(quán)協(xié)議民假,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/weixin_53072519/article/details/125228115

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末龙优,一起剝皮案震驚了整個濱河市羊异,隨后出現(xiàn)的幾起案子事秀,更是在濱河造成了極大的恐慌,老刑警劉巖野舶,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件易迹,死亡現(xiàn)場離奇詭異,居然都是意外死亡平道,警方通過查閱死者的電腦和手機(jī)睹欲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來一屋,“玉大人窘疮,你說我怎么就攤上這事〖侥” “怎么了闸衫?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長诽嘉。 經(jīng)常有香客問我蔚出,道長,這世上最難降的妖魔是什么虫腋? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任骄酗,我火速辦了婚禮,結(jié)果婚禮上悦冀,老公的妹妹穿的比我還像新娘酥筝。我一直安慰自己,他們只是感情好雏门,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著掸掏,像睡著了一般茁影。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上丧凤,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天募闲,我揣著相機(jī)與錄音,去河邊找鬼愿待。 笑死浩螺,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的仍侥。 我是一名探鬼主播要出,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼农渊!你這毒婦竟也來了患蹂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎传于,沒想到半個月后囱挑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡沼溜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年平挑,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片系草。...
    茶點(diǎn)故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡通熄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出悄但,到底是詐尸還是另有隱情棠隐,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布檐嚣,位于F島的核電站助泽,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏嚎京。R本人自食惡果不足惜嗡贺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鞍帝。 院中可真熱鬧诫睬,春花似錦、人聲如沸帕涌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蚓曼。三九已至亲澡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間纫版,已是汗流浹背床绪。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留其弊,地道東北人癞己。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像梭伐,于是被迫代替她去往敵國和親痹雅。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容