0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Kubernetes特性有哪些?

jf_78858299 ? 來(lái)源:運(yùn)維漫談 ? 作者:運(yùn)維漫談 ? 2023-05-12 16:16 ? 次閱讀

本文將介紹Kubernetes 的重要特性,這將有助于您更深入地了解 Kubernetes 的功能概念。

    1. 自動(dòng)裝箱
    1. 服務(wù)發(fā)現(xiàn)和負(fù)載均衡
    1. 存儲(chǔ)編排
    1. 自愈
    1. 自動(dòng)推出和回滾
    • 5.1. 推出
    • 5.2. 回滾
    1. Secret和配置映射
    • 6.1. Secret
    • 6.2. 配置映射
    1. 水平縮放
    1. 結(jié)論

1. 自動(dòng)裝箱

這是 Kubernetes 最顯著的特性之一,Kubernetes 根據(jù)所需資源和其他限制條件智能地定位容器,而不會(huì)影響可用性。

Kubernetes 提供資源管理,它可以自動(dòng)指定 Pod 中的每個(gè)容器如何消耗 CPURAM 等資源。

圖片

2. 服務(wù)發(fā)現(xiàn)和負(fù)載均衡

服務(wù)發(fā)現(xiàn)和負(fù)載均衡在 Kubernetes 中作為服務(wù)提供,服務(wù)以一致的方式跨集群將 Pod 連接到網(wǎng)絡(luò)。確定如何連接到服務(wù)的過(guò)程稱(chēng)為服務(wù)發(fā)現(xiàn)。

容器的集合是 POD,具有相同功能集的 POD 被組合成一個(gè)集合,稱(chēng)為服務(wù)。

每個(gè) POD 將被分配一個(gè) IP 地址和單個(gè) DNS 名稱(chēng)用于服務(wù)(POD 集),借助這種架構(gòu),Kubernetes 將對(duì) POD 之間的網(wǎng)絡(luò)和通信進(jìn)行明確定義的控制,并且可以實(shí)現(xiàn)負(fù)載平衡。

圖片

在組成單個(gè)服務(wù)的實(shí)例集合前放置負(fù)載均衡器(反向代理,如 Nginx 或 HAProxy)是解決服務(wù)發(fā)現(xiàn)問(wèn)題的常用技術(shù)。

負(fù)載平衡器的地址(DNS 名稱(chēng),或者通常情況下是 IP)是一個(gè)相當(dāng)可靠的數(shù)據(jù),它可以在開(kāi)發(fā)或配置階段提供給客戶(hù)端,并且可以在單個(gè)客戶(hù)端的生命周期中保持不變。

之后,從客戶(hù)端的角度來(lái)看,聯(lián)系多實(shí)例服務(wù)與訪(fǎng)問(wèn)單個(gè)網(wǎng)絡(luò)端點(diǎn)沒(méi)有什么不同,換句話(huà)說(shuō),服務(wù)發(fā)現(xiàn)完全發(fā)生在服務(wù)器端。

3. 存儲(chǔ)編排

用戶(hù)可以使用 Kubernetes 掛載他們想要的任何存儲(chǔ)系統(tǒng),包括本地存儲(chǔ)、公共云提供商等。仍然必須提供底層存儲(chǔ)系統(tǒng)。

對(duì)于用戶(hù)和管理人員,Kubernetes 提供了一個(gè) API,它將存儲(chǔ)交付方式與存儲(chǔ)使用方式的細(xì)節(jié)隔離開(kāi)來(lái)。

關(guān)于將持久性存儲(chǔ)與 Kubernetes 集成,有幾個(gè)術(shù)語(yǔ)需要理解。,它們?nèi)缦拢?/p>

  • 容器存儲(chǔ)接口CSI):它是一個(gè)標(biāo)準(zhǔn),允許所有容器編排器以一致的方式連接存儲(chǔ)系統(tǒng),例如Ondat。存儲(chǔ)供應(yīng)商應(yīng)該在 CSI 發(fā)布之前將他們的集成層直接寫(xiě)入 Kubernetes 源代碼。因此,升級(jí)既困難又耗時(shí),因?yàn)槿魏稳毕荻伎赡軐?dǎo)致 Kubernetes 崩潰。
  • 存儲(chǔ)類(lèi):管理員可以預(yù)先定義 Kubernetes 用戶(hù)能夠使用 Kubernetes 存儲(chǔ)類(lèi)提供和附加到他們的應(yīng)用程序的存儲(chǔ)類(lèi)型。
  • 持久卷 (PV):持久卷是已作為卷添加到集群中的虛擬存儲(chǔ)實(shí)例。PV可以引用物理存儲(chǔ)硬件或軟件定義的存儲(chǔ),例如Ondat。
  • 持久卷聲明 (PVC):這是對(duì)要供應(yīng)的某種類(lèi)型和配置的存儲(chǔ)的請(qǐng)求。

4. 自愈

Kubernetes 的自我修復(fù)能力是其最吸引人的功能之一,如果容器化應(yīng)用程序或應(yīng)用程序組件出現(xiàn)故障,Kubernetes 將自動(dòng)重新加載它。

Kubernetes 的編排功能可以根據(jù)設(shè)置監(jiān)控和替換不健康的容器,Pods 是封裝單個(gè)或多個(gè)容器的最小單元,也可以由 Kubernetes 修復(fù)。

在自愈過(guò)程中,復(fù)制控制器通過(guò)執(zhí)行以下任務(wù)來(lái)確保應(yīng)用程序的容錯(cuò)或可用性。

  • 如果容器出現(xiàn)故障,Kubernetes 會(huì)重新啟動(dòng)容器。
  • 如果任何節(jié)點(diǎn)出現(xiàn)故障,Kubernetes 會(huì)重新安排其他節(jié)點(diǎn)上的容器。
  • 如果容器沒(méi)有響應(yīng)客戶(hù)端/用戶(hù),Kubernetes 會(huì)終止容器。

圖片

5. 自動(dòng)推出和回滾

5.1. 推出

盡管開(kāi)發(fā)人員希望更新應(yīng)用程序的代碼,但企業(yè)的目標(biāo)是使應(yīng)用程序的停機(jī)時(shí)間為零。應(yīng)用程序的更新稱(chēng)為rollout,這是在 Kubernetes 中使用滾動(dòng)升級(jí)完成的。

通過(guò)使用新的 Pod 實(shí)例逐步升級(jí),滾動(dòng)更新允許在零停機(jī)時(shí)間的情況下更新部署,新的 Pod 將被安排在有可用資源的節(jié)點(diǎn)上。

圖片

  • 客戶(hù)端使用新版本的 POD 進(jìn)行更新,例如 V2。
  • 在一個(gè)副本集中,只允許使用相同版本的 POD,因此,Kubernetes 將創(chuàng)建副本集 2,其中將添加新版本的 POD V2,并確保健康檢查,一旦 POD V2 運(yùn)行良好,它將取代其中一個(gè) POD V1。
  • 它將遵循相同的規(guī)則并將所有 POD V1 替換為 POD V2。

5.2. 回滾

當(dāng) Deployment 不穩(wěn)定時(shí),例如當(dāng)它循環(huán)崩潰時(shí),您可能需要回滾 Deployment。默認(rèn)情況下,系統(tǒng)會(huì)保存所有 Deployment 的 rollout 歷史,以便您可以隨時(shí)回滾。

在上圖中,POD V1 被保留在歷史記錄中,以便您在發(fā)現(xiàn) POD V2 的部署有任何問(wèn)題時(shí)可以回滾。

6. Secret和配置映射

6.1. Secret

Secret是一小段機(jī)密數(shù)據(jù),例如密碼、令牌或密鑰?;蛘?,此類(lèi)信息可能包含在 Pod 規(guī)范或容器映像中。

如果您使用 Secret,則不必在應(yīng)用程序代碼中包含機(jī)密數(shù)據(jù),在處理Secret時(shí),有兩個(gè)層面需要考慮。

必須首先創(chuàng)建Secret,然后才能將其引入到 Pod 中,與其將機(jī)密數(shù)據(jù)放在容器圖片或 Pod 定義中,不如將其保密更安全、更具適應(yīng)性。

6.2. 配置映射

ConfigMap 是一個(gè)鍵值對(duì)存儲(chǔ),它是一個(gè)用于存儲(chǔ)非機(jī)密數(shù)據(jù)的 API 對(duì)象,Pod 可以將 ConfigMap 用作環(huán)境變量、命令行參數(shù)或卷配置文件。

它允許您將特定于環(huán)境的配置與容器映像分離,從而允許您簡(jiǎn)單地移植應(yīng)用程序。

ConfigMaps 的配置分為兩個(gè)階段,第一步是制作 ConfigMap,然后將它們注入到 pod 中。

圖片

7. 水平縮放

當(dāng)對(duì)工作負(fù)載的需求增加或減少時(shí),Kubernetes 可以自動(dòng)增加或減少為該作業(yè)提供服務(wù)的 pod 副本的數(shù)量。

Horizontal Pod Autoscaler 在 Kubernetes 中實(shí)現(xiàn)為控制器和 API 資源。控制器的行為由資源決定。

控制器定期調(diào)整復(fù)制控制器或部署中的副本數(shù)量,以將觀察到的指標(biāo)(如平均 CPU 利用率、平均內(nèi)存利用率或任何其他自定義統(tǒng)計(jì)數(shù)據(jù))與用戶(hù)的目標(biāo)相匹配。

圖片

8. 結(jié)論

在本文中,我們已經(jīng)對(duì) Kubernetes 的關(guān)鍵特性進(jìn)行了概念性的理解。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10698

    瀏覽量

    209347
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207900
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    222

    瀏覽量

    8655
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Kubernetes的Device Plugin設(shè)計(jì)解讀

    摘要: Kubernetes的生態(tài)地位已經(jīng)確立,可擴(kuò)展性將是其發(fā)力的主戰(zhàn)場(chǎng)。異構(gòu)計(jì)算作為非常重要的新戰(zhàn)場(chǎng),Kubernetes非常重視。而異構(gòu)計(jì)算需要強(qiáng)大的計(jì)算力和高性能網(wǎng)絡(luò),需要提供一種統(tǒng)一的方式
    發(fā)表于 03-12 16:23

    理解和創(chuàng)建Kubernetes對(duì)象

    Kubernetes對(duì)象總結(jié)
    發(fā)表于 04-11 15:14

    Kubernetes經(jīng)驗(yàn)總結(jié)

    Kubernetes學(xué)習(xí)筆記——24 允許外部訪(fǎng)問(wèn)
    發(fā)表于 06-18 12:10

    淺析Kubernetes

    【k8s】Kubernetes基礎(chǔ)概念
    發(fā)表于 09-27 09:11

    kubernetes部署與應(yīng)用

    kubernetes運(yùn)維筆記
    發(fā)表于 10-25 13:08

    Kubernetes上運(yùn)行Kubernetes

    開(kāi)源容器編排引擎 Kubernetes 絕對(duì)魔力。 一直以來(lái),容器就是個(gè)很酷的概念,但事實(shí)上,廣泛部署卻十分困難。你幾乎沒(méi)法手動(dòng)管理容器之間的網(wǎng)絡(luò)、持續(xù)存儲(chǔ)和數(shù)百個(gè)容器間的自動(dòng)擴(kuò)展,而一個(gè)讓人
    發(fā)表于 09-30 13:33 ?0次下載
    在<b class='flag-5'>Kubernetes</b>上運(yùn)行<b class='flag-5'>Kubernetes</b>

    Kubernetes API詳解

    摘要:Kubernetes是Google開(kāi)源的容器集群管理系統(tǒng)。它構(gòu)建Ddocker技術(shù)之上,為容器化的應(yīng)用提供資源調(diào)度、部署運(yùn)行、服務(wù)發(fā)現(xiàn)、擴(kuò)容縮容等整一套功能,本文節(jié)選自龔正
    發(fā)表于 10-12 16:19 ?0次下載
    <b class='flag-5'>Kubernetes</b> API詳解

    Kubernetes網(wǎng)絡(luò)隔離NetworkPolicy實(shí)驗(yàn)

    Kubernetes的一個(gè)重要特性就是要把不同node節(jié)點(diǎn)的pod(container)連接起來(lái),無(wú)視物理節(jié)點(diǎn)的限制。但是在某些應(yīng)用環(huán)境中,比如公有云,不同租戶(hù)的pod不應(yīng)該互通,這個(gè)時(shí)候就需要網(wǎng)絡(luò)
    發(fā)表于 11-28 10:00 ?2631次閱讀

    為什么了Docker還要Kubernetes

    “一千個(gè)讀者眼里一千個(gè)哈姆雷特”。同樣的話(huà)也適用于 Kubernetes,同樣的系統(tǒng)在不同的開(kāi)發(fā)人員眼中也是不同的,甚至在不同階段對(duì)于它的理解也截然不同。
    的頭像 發(fā)表于 02-12 12:16 ?2384次閱讀
    為什么<b class='flag-5'>有</b>了Docker還要<b class='flag-5'>Kubernetes</b>

    云計(jì)算的發(fā)展:Kubernetes特性

    如果你對(duì)容器化感興趣并且關(guān)注過(guò),可能會(huì)聽(tīng)過(guò)許多關(guān)于Kubernetes的事情。隨著云開(kāi)發(fā)的重點(diǎn)轉(zhuǎn)移到容器,Kubernetes等這些容器相關(guān)技術(shù)已經(jīng)變得大受歡迎。什么是Kubernetes?為什么這項(xiàng)技術(shù)很重要呢?
    的頭像 發(fā)表于 12-25 17:41 ?523次閱讀

    kubernetes是怎么運(yùn)作的

    kubernetes 已經(jīng)成為容器編排領(lǐng)域的王者,它是基于容器的集群編排引擎,具備擴(kuò)展集群、滾動(dòng)升級(jí)回滾、彈性伸縮、自動(dòng)治愈、服務(wù)發(fā)現(xiàn)等多種特性能力。 本文將帶著大家快速了解 kubernetes ,了解我們談?wù)?
    的頭像 發(fā)表于 09-27 09:18 ?739次閱讀

    帶你快速了解 kubernetes

    kubernetes 已經(jīng)成為容器編排領(lǐng)域的王者,它是基于容器的集群編排引擎,具備擴(kuò)展集群、滾動(dòng)升級(jí)回滾、彈性伸縮、自動(dòng)治愈、服務(wù)發(fā)現(xiàn)等多種特性能力。 本文將帶著大家快速了解 kubernetes
    的頭像 發(fā)表于 01-17 10:00 ?1043次閱讀

    Kubernetes中的邏輯組件

    Kubernetes是生產(chǎn)級(jí)別的容器編排系統(tǒng),其物理集群Master和Node兩種類(lèi)型的節(jié)點(diǎn)
    的頭像 發(fā)表于 02-15 10:46 ?1109次閱讀
    <b class='flag-5'>Kubernetes</b>中的邏輯組件

    Kubernetes 監(jiān)控利器功能特性

    Kubeshark 是專(zhuān)為 Kubernetes 設(shè)計(jì)的 API 流量分析器,它提供實(shí)時(shí)的 K8s 協(xié)議級(jí)別的可見(jiàn)性,可以捕獲和監(jiān)控所有在容器、Pod、節(jié)點(diǎn)和集群之間進(jìn)出和流動(dòng)的流量和負(fù)載??梢园阉胂蟪蓪?zhuān)門(mén)針對(duì) Kubernetes 重新發(fā)明的 TCPDump 和 Wi
    的頭像 發(fā)表于 05-17 16:10 ?540次閱讀
    <b class='flag-5'>Kubernetes</b> 監(jiān)控利器功能<b class='flag-5'>特性</b>

    Commvault:護(hù)航Kubernetes,不止Kubernetes

    Kubernetes已經(jīng)不再是只存在于路線(xiàn)圖中的未來(lái)產(chǎn)品。事實(shí)上,幾乎所有(94%)已經(jīng)采用容器的企業(yè)都在使用Kubernetes,大多數(shù)(86%)企業(yè)甚至認(rèn)為它對(duì)他們的運(yùn)營(yíng)至關(guān)重要。這并不令人意外,Kubernetes正在幫助
    的頭像 發(fā)表于 07-07 14:42 ?455次閱讀