Kubernetes概述

Kubernetes 是一個(gè)可移植的贴唇、可擴(kuò)展的開源平臺鸣皂,用于管理容器化的工作負(fù)載和服務(wù)瞪讼,可促進(jìn)聲明式配置和自動化。Kubernetes 擁有一個(gè)龐大且快速增長的生態(tài)系統(tǒng)结笨。Kubernetes 的服務(wù)包晰、支持和工具廣泛可用。

名稱 Kubernetes 源于希臘語炕吸,意為 “舵手” 或 “飛行員”伐憾。Google 在 2014 年開源了 Kubernetes 項(xiàng)目。Kubernetes 建立在 Google 在大規(guī)模運(yùn)行生產(chǎn)工作負(fù)載方面擁有十幾年的經(jīng)驗(yàn)的基礎(chǔ)上赫模,結(jié)合了社區(qū)中最好的想法和實(shí)踐树肃。

言歸正傳

讓我們回顧一下為什么 Kubernetes 如此有用。

Rainywang

傳統(tǒng)部署時(shí)代: 早期瀑罗,組織在物理服務(wù)器上運(yùn)行應(yīng)用程序胸嘴。無法為物理服務(wù)器中的應(yīng)用程序定義資源邊界,這會導(dǎo)致資源分配問題斩祭。例如劣像,如果在物理服務(wù)器上運(yùn)行多個(gè)應(yīng)用程序,則可能會出現(xiàn)一個(gè)應(yīng)用程序占用大部分資源的情況摧玫,結(jié)果可能導(dǎo)致其他應(yīng)用程序的性能下降耳奕。一種解決方案是在不同的物理服務(wù)器上運(yùn)行每個(gè)應(yīng)用程序,但是由于資源利用不足而無法擴(kuò)展,并且組織維護(hù)許多物理服務(wù)器的成本很高屋群。

虛擬化部署時(shí)代: 作為解決方案闸婴,引入了虛擬化功能,它允許您在單個(gè)物理服務(wù)器的 CPU 上運(yùn)行多個(gè)虛擬機(jī)(VM)芍躏。虛擬化功能允許應(yīng)用程序在 VM 之間隔離邪乍,并提供安全級別,因?yàn)橐粋€(gè)應(yīng)用程序的信息不能被另一應(yīng)用程序自由地訪問对竣。

因?yàn)樘摂M化可以輕松地添加或更新應(yīng)用程序庇楞、降低硬件成本等等,所以虛擬化可以更好地利用物理服務(wù)器中的資源否纬,并可以實(shí)現(xiàn)更好的可伸縮性姐刁。

每個(gè) VM 是一臺完整的計(jì)算機(jī),在虛擬化硬件之上運(yùn)行所有組件烦味,包括其自己的操作系統(tǒng)。

容器部署時(shí)代: 容器類似于 VM壁拉,但是它們具有輕量級的隔離屬性谬俄,可以在應(yīng)用程序之間共享操作系統(tǒng)(OS)。因此弃理,容器被認(rèn)為是輕量級的溃论。容器與 VM 類似,具有自己的文件系統(tǒng)痘昌、CPU钥勋、內(nèi)存、進(jìn)程空間等辆苔。由于它們與基礎(chǔ)架構(gòu)分離算灸,因此可以跨云和 OS 分發(fā)進(jìn)行移植。

容器因具有許多優(yōu)勢而變得流行起來驻啤。下面列出了容器的一些好處:

  • 敏捷應(yīng)用程序的創(chuàng)建和部署:與使用 VM 鏡像相比菲驴,提高了容器鏡像創(chuàng)建的簡便性和效率。
  • 持續(xù)開發(fā)骑冗、集成和部署:通過快速簡單的回滾(由于鏡像不可變性)赊瞬,提供可靠且頻繁的容器鏡像構(gòu)建和部署。
  • 關(guān)注開發(fā)與運(yùn)維的分離:在構(gòu)建/發(fā)布時(shí)而不是在部署時(shí)創(chuàng)建應(yīng)用程序容器鏡像贼涩,從而將應(yīng)用程序與基礎(chǔ)架構(gòu)分離巧涧。
  • 可觀察性不僅可以顯示操作系統(tǒng)級別的信息和指標(biāo),還可以顯示應(yīng)用程序的運(yùn)行狀況和其他指標(biāo)信號遥倦。
  • 跨開發(fā)谤绳、測試和生產(chǎn)的環(huán)境一致性:在便攜式計(jì)算機(jī)上與在云中相同地運(yùn)行。
  • 云和操作系統(tǒng)分發(fā)的可移植性:可在 Ubuntu、RHEL闷供、CoreOS烟央、本地、Google Kubernetes Engine 和其他任何地方運(yùn)行歪脏。
  • 以應(yīng)用程序?yàn)橹行牡墓芾恚禾岣叱橄蠹墑e疑俭,從在虛擬硬件上運(yùn)行 OS 到使用邏輯資源在 OS 上運(yùn)行應(yīng)用程序。
  • 松散耦合婿失、分布式钞艇、彈性、解放的微服務(wù):應(yīng)用程序被分解成較小的獨(dú)立部分豪硅,并且可以動態(tài)部署和管理 - 而不是在一臺大型單機(jī)上整體運(yùn)行哩照。
  • 資源隔離:可預(yù)測的應(yīng)用程序性能。
  • 資源利用:高效率和高密度懒浮。

為什么需要 Kubernetes飘弧,它能做什么?

容器是打包和運(yùn)行應(yīng)用程序的好方式。在生產(chǎn)環(huán)境中砚著,您需要管理運(yùn)行應(yīng)用程序的容器次伶,并確保不會停機(jī)。例如稽穆,如果一個(gè)容器發(fā)生故障冠王,則需要啟動另一個(gè)容器。如果系統(tǒng)處理此行為舌镶,會不會更容易柱彻?

這就是 Kubernetes 的救援方法!Kubernetes 為您提供了一個(gè)可彈性運(yùn)行分布式系統(tǒng)的框架餐胀。Kubernetes 會滿足您的擴(kuò)展要求哟楷、故障轉(zhuǎn)移、部署模式等否灾。例如吓蘑,Kubernetes 可以輕松管理系統(tǒng)的 Canary 部署。

Kubernetes 為您提供:

  • 服務(wù)發(fā)現(xiàn)和負(fù)載均衡
    Kubernetes 可以使用 DNS 名稱或自己的 IP 地址公開容器坟冲,如果到容器的流量很大磨镶,Kubernetes 可以負(fù)載均衡并分配網(wǎng)絡(luò)流量,從而使部署穩(wěn)定健提。
  • 存儲編排
    Kubernetes 允許您自動掛載您選擇的存儲系統(tǒng)琳猫,例如本地存儲、公共云提供商等私痹。
  • 自動部署和回滾
    您可以使用 Kubernetes 描述已部署容器的所需狀態(tài)脐嫂,它可以以受控的速率將實(shí)際狀態(tài)更改為所需狀態(tài)统刮。例如,您可以自動化 Kubernetes 來為您的部署創(chuàng)建新容器账千,刪除現(xiàn)有容器并將它們的所有資源用于新容器侥蒙。
  • 自動二進(jìn)制打包
    Kubernetes 允許您指定每個(gè)容器所需 CPU 和內(nèi)存(RAM)。當(dāng)容器指定了資源請求時(shí)匀奏,Kubernetes 可以做出更好的決策來管理容器的資源鞭衩。
  • 自我修復(fù)
    Kubernetes 重新啟動失敗的容器、替換容器娃善、殺死不響應(yīng)用戶定義的運(yùn)行狀況檢查的容器论衍,并且在準(zhǔn)備好服務(wù)之前不將其通告給客戶端。
  • 密鑰與配置管理
    Kubernetes 允許您存儲和管理敏感信息聚磺,例如密碼坯台、OAuth 令牌和 ssh 密鑰。您可以在不重建容器鏡像的情況下部署和更新密鑰和應(yīng)用程序配置瘫寝,也無需在堆棧配置中暴露密鑰蜒蕾。

Kubernetes 不是什么

Kubernetes 不是傳統(tǒng)的、包羅萬象的 PaaS(平臺即服務(wù))系統(tǒng)焕阿。由于 Kubernetes 在容器級別而不是在硬件級別運(yùn)行滥搭,因此它提供了 PaaS 產(chǎn)品共有的一些普遍適用的功能,例如部署捣鲸、擴(kuò)展、負(fù)載均衡闽坡、日志記錄和監(jiān)視栽惶。但是,Kubernetes 不是單一的疾嗅,默認(rèn)解決方案是可選和可插拔的外厂。Kubernetes 提供了構(gòu)建開發(fā)人員平臺的基礎(chǔ),但是在重要的地方保留了用戶的選擇和靈活性代承。

Kubernetes:

  • Kubernetes 不限制支持的應(yīng)用程序類型汁蝶。Kubernetes 旨在支持極其多種多樣的工作負(fù)載,包括無狀態(tài)论悴、有狀態(tài)和數(shù)據(jù)處理工作負(fù)載掖棉。如果應(yīng)用程序可以在容器中運(yùn)行,那么它應(yīng)該可以在 Kubernetes 上很好地運(yùn)行膀估。

  • Kubernetes 不部署源代碼幔亥,也不構(gòu)建您的應(yīng)用程序。持續(xù)集成(CI)察纯、交付和部署(CI/CD)工作流取決于組織的文化和偏好以及技術(shù)要求帕棉。

  • Kubernetes 不提供應(yīng)用程序級別的服務(wù)作為內(nèi)置服務(wù)针肥,例如中間件(例如,消息中間件)香伴、數(shù)據(jù)處理框架(例如慰枕,Spark)、數(shù)據(jù)庫(例如即纲,mysql)具帮、緩存、集群存儲系統(tǒng)(例如崇裁,Ceph)匕坯。這樣的組件可以在 Kubernetes 上運(yùn)行,并且/或者可以由運(yùn)行在 Kubernetes 上的應(yīng)用程序通過可移植機(jī)制(例如拔稳,開放服務(wù)代理)來訪問葛峻。

  • Kubernetes 不指定日志記錄、監(jiān)視或警報(bào)解決方案巴比。它提供了一些集成作為概念證明术奖,并提供了收集和導(dǎo)出指標(biāo)的機(jī)制。

  • Kubernetes 不提供或不要求配置語言/系統(tǒng)(例如 jsonnet)轻绞,它提供了聲明性 API采记,該聲明性 API 可以由任意形式的聲明性規(guī)范所構(gòu)成。

  • Kubernetes 不提供也不采用任何全面的機(jī)器配置政勃、維護(hù)唧龄、管理或自我修復(fù)系統(tǒng)。

  • 此外奸远,Kubernetes 不僅僅是一個(gè)編排系統(tǒng)既棺,實(shí)際上它消除了編排的需要。編排的技術(shù)定義是執(zhí)行已定義的工作流程:首先執(zhí)行 A懒叛,然后執(zhí)行 B丸冕,再執(zhí)行 C。相比之下薛窥,Kubernetes 包含一組獨(dú)立的胖烛、可組合的控制過程,這些過程連續(xù)地將當(dāng)前狀態(tài)驅(qū)動到所提供的所需狀態(tài)诅迷。從 A 到 C 的方式無關(guān)緊要佩番,也不需要集中控制,這使得系統(tǒng)更易于使用且功能更強(qiáng)大罢杉、健壯答捕、彈性和可擴(kuò)展性。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末屑那,一起剝皮案震驚了整個(gè)濱河市拱镐,隨后出現(xiàn)的幾起案子艘款,更是在濱河造成了極大的恐慌,老刑警劉巖沃琅,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哗咆,死亡現(xiàn)場離奇詭異,居然都是意外死亡益眉,警方通過查閱死者的電腦和手機(jī)晌柬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來郭脂,“玉大人年碘,你說我怎么就攤上這事≌辜Γ” “怎么了屿衅?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長莹弊。 經(jīng)常有香客問我涤久,道長,這世上最難降的妖魔是什么忍弛? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任响迂,我火速辦了婚禮,結(jié)果婚禮上细疚,老公的妹妹穿的比我還像新娘蔗彤。我一直安慰自己,他們只是感情好疯兼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布然遏。 她就那樣靜靜地躺著,像睡著了一般镇防。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上潮饱,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天来氧,我揣著相機(jī)與錄音,去河邊找鬼香拉。 笑死啦扬,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的凫碌。 我是一名探鬼主播扑毡,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼盛险!你這毒婦竟也來了瞄摊?” 一聲冷哼從身側(cè)響起勋又,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎换帜,沒想到半個(gè)月后楔壤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惯驼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年蹲嚣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祟牲。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡隙畜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出说贝,到底是詐尸還是另有隱情议惰,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布狂丝,位于F島的核電站换淆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏几颜。R本人自食惡果不足惜倍试,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蛋哭。 院中可真熱鬧县习,春花似錦、人聲如沸谆趾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沪蓬。三九已至彤钟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間跷叉,已是汗流浹背逸雹。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留云挟,地道東北人梆砸。 一個(gè)月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像园欣,于是被迫代替她去往敵國和親帖世。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353