衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Kubernetes的基本構建塊和挑戰

星星科技指導員 ? 來源:NVIDIA ? 作者:Erez Scop ? 2022-04-22 11:04 ? 次閱讀

在本地和公共云上使用相同的編排允許高度的靈活性和易操作性。您可以跨裸機和公共云使用相同的 API 。 Kubernetes 是一個開源的容器編排系統,用于自動化容器化應用程序的部署、擴展和管理。它最初是由谷歌設計的,現在由云本地計算基金會維護。

Kubernetes 正在迅速成為在混合云中部署和管理容器的新標準。作為一個網絡工程師,你為什么要關心開發人員對 Kubernetes 做了什么?它不只是另一個消耗網絡資源的應用程序嗎? Kubernetes 提供了一個靈活可靠的平臺,使開發人員能夠專注于開發和擴展他們的應用程序。

在本文中,我將討論 Kubernetes 的基本構建塊和一些網絡挑戰。

Kubernetes 積木

Kubernetes 是一個工具,它使您能夠管理云基礎設施以及管理虛擬機或網絡的復雜性。

節點

節點是 Kubernetes 中計算元素的最小單位。它是集群中單個機器的表示。在大多數生產系統中,節點通常是物理服務器或托管在本地或云上的虛擬機。

poYBAGJiG0GATVrfAAHWEm-haw0739.png

圖 1 。在 Kubernetes 中,多個節點構成了主機工作者和主組件的基礎結構

集群

Kubernetes 集群是一組用于運行容器化應用程序的節點機。當您在集群上部署應用程序時,集群將智能地處理將工作分發到各個節點的工作。如果添加或刪除了任何節點,集群會根據需要轉移工作負載。對于應用程序或開發人員來說,哪個節點實際運行代碼并不重要。

pYYBAGJiG0KAXRIUAABuxzMX2D8656.png

圖 2 。集群由工作節點組成,工作節點表示一個計算主機,可以在該主機上部署、運行和管理容器化應用程序

持久卷

由于不能保證在集群上運行的應用程序在特定節點上運行,因此無法將數據保存到文件系統中的任意位置。如果應用程序試圖保存數據以供以后使用,但隨后又重新定位到新節點上,則數據將不再位于應用程序所期望的位置。因此,與每個節點相關聯的傳統本地存儲被視為一個臨時緩存來保存應用程序,但本地保存的任何數據都不能持久。

為了永久存儲數據, Kubernetes 使用持久卷。雖然所有節點的 CPURAM 資源都由集群有效地匯集和管理,但持久性文件存儲不是必需的。相反,本地或云存儲可以作為持久卷附加到集群。

容器和微型服務

運行在 Kubernetes 上的應用程序被打包為 Linux 容器。容器是一個被廣泛接受的標準,因此已經有許多預構建的映像可以部署在 Kubernetes 上。

poYBAGJiG0OANHSnAAJuniHZqtE671.png

圖 3 。容器將所有代碼和依賴項打包在一起,允許軟件堆棧在其所在的任何環境中運行

容器化允許創建自包含的 Linux 執行環境。任何應用程序及其所有依賴項都可以捆綁到單個文件中。容器允許形成強大的連續集成( CI )和連續部署( CD )管道,因為每個容器可以容納應用程序的特定部分。容器是微服務的基礎設施。

微服務是一種軟件開發技術,一種將應用程序構造為松散耦合服務集合的體系結構風格。將應用程序分解為不同的較小服務的好處是它改進了模塊化。這使得應用程序更易于理解、開發、測試和部署。

Pods

Kubernetes 不直接運行容器。相反,它將一個或多個容器包裝成一個更高層次的結構,稱為 Pod 。同一 Pod 中的任何容器共享同一節點和本地網絡。容器可以輕松地與同一個 Pod 中的其他容器進行通信,就像它們在同一臺機器上一樣,同時保持與其他容器的一定程度的隔離。

pYYBAGJiG0SAaey3AAI8ljQuwfo536.png

圖 4 。吊艙是集群中最小的可部署單元,包含一組容器

豆莢是庫伯內特斯的復制單位。如果您的應用程序變得太重,單個 Pod 實例無法承載負載,那么可以配置 Kubernetes ,以便根據需要將 Pod 的新副本部署到集群。即使不是在重載下,在生產系統中隨時運行一個 Pod 的多個副本也是標準的,以允許負載平衡和抗故障。

部署

雖然 pod 是 Kubernetes 的基本計算單元,但它們通常不會直接在集群上啟動。相反, pod 通常由另一個抽象層來管理: deployment 。部署的目的是聲明一次應該運行多少個 Pod 副本。當部署被添加到集群中時,它會自動增加請求的 pod 數量,然后監視它們。如果吊艙死亡,部署會自動重新創建它。

對于部署,您不必手動處理 pod 。您只需聲明所需的系統狀態,系統就會自動為您進行管理。

poYBAGJiG0WAN_pGAACpznKcyyA890.png

圖 5 。部署用于管理復制集、 pod 定義和更新以及其他概念

服務和服務網格

Kubernetes 服務是一種抽象,它定義了一組邏輯 pod 和訪問它們的策略。服務支持依賴吊艙之間的松散耦合。

pYYBAGJiG0aAQkGTAAHVcpvn0s4698.png

圖 6 。服務支持依賴吊艙之間的耦合。

術語 服務網 用于描述組成此類應用程序的微服務網絡以及它們之間的交互。隨著服務網格的規模和復雜性的增長,它可能變得更難理解和管理。它的需求可以包括發現、負載平衡、故障恢復、度量和監視。服務 mesh 通常還有更復雜的操作需求,如 A / B 測試、 canary 發布、速率限制、訪問控制和端到端身份驗證。

控制服務網格最流行的插件之一是 Istio ,這是一個開源的獨立服務,它提供了成功運行分布式微服務體系結構所需的基礎。 Istio 提供了對整個服務網格的行為洞察力和操作控制,提供了一個完整的解決方案來滿足微服務應用程序的各種需求。使用 Istio ,應用程序的所有實例都有自己的 sidecar 容器。此側車充當所有傳出和傳入網絡流量的服務代理。

網絡

Kubernetes 網絡的核心是一個重要的基本設計理念:每個 Pod 都有一個唯一的 IP 地址。

poYBAGJiG0iARsDiAACPaWqtKPc672.png

圖 7 。 Pod IP 地址由內部的所有容器共享,并且可以從所有其他 Pod 路由。

Pod 的 IP 地址由內部的所有容器共享,并且可以從其他 Pod 路由。這種 IP-per-Pod 模型的一個巨大好處是沒有與底層主機的 IP 地址或端口沖突。不必擔心應用程序使用什么端口。

有了這一點, Kubernetes 唯一的要求就是 Pod IP 地址是可路由的,并且可以從所有其他 Pod 訪問,而不管它們的節點是什么。

為了降低復雜性并使應用程序移植無縫進行,在 Kubernetes 網絡模型中,一些規則作為基本要求被強制執行:

容器可以在沒有網絡地址轉換( NAT )的情況下與所有其他容器通信。

節點可以在沒有 NAT 的情況下與所有容器通信,反之亦然。

容器將自己視為的 IP 地址與其他容器看到的 IP 地址相同。

pYYBAGJiG0mADXAjAACAfMxoWmc592.png

圖 8 。 Kubernetes 網絡模型

Kubernetes 有許多網絡實現。法蘭絨和印花布可能是最流行的用作容器網絡接口( CNI )的網絡插件。 CNI 可以看作是容器運行時和網絡實現之間最簡單的接口,其目標是為容器創建一個通用的基于插件的網絡解決方案。

Flannel 可以使用多個封裝后端運行,建議使用 VXLAN 。在 VXLAN 中使用 Flannel 時, Kubernetes 節點之間需要 L2 連接。由于這一要求,結構 MIG 的大小將受到限制,如果部署了純 L2 網絡,則連接的機架數將限制為脊椎交換機上的端口數。

poYBAGJiG0mAIilvAAClWo6dTU0613.png

圖 9 。當使用覆蓋網絡時, Flannel 需要 Kubernetes 節點之間的 L2 連接, VXLAN 是首選。

為了克服這個問題,可以在葉級部署一個具有 VXLAN 和 EVPN 的 L3 結構。 L2 連接提供給 BGP 路由結構上的節點,該結構可以輕松擴展。來自節點的 VXLAN 數據包被封裝到葉交換機之間運行的 VXLAN 隧道中。

pYYBAGJiG0qAX7_OAABpdmNMUkA944.png

圖 10 。 L2 連接提供給 BGP 路由結構頂部的節點。

NVIDIA Spectrum ASIC 在 VXLAN 吞吐量、延遲和規模方面提供了巨大的價值。大多數交換機最多可支持 128 個遠程 VTEP ,這意味著單個結構中最多可支持 128 個機架。 NVIDIA Spectrum ASIC 支持多達 750 個遠程 vtep ,在單個結構中允許多達 750 個機架。

NVIDIA Spectrum EVPN VXLAN 微分器

觀看以下視頻,了解為什么 NVIDIA Spectrum 以太網交換機是構建可擴展、高效和高性能 EVPN VXLAN 結構的最佳平臺。

視頻了解 EVPN VXLAN 微分器 NVIDIA Spe CTR um 交換機提供的功能

印花布作為設計選項

在印花布網絡中,每個端點都是一條路由。硬件網絡平臺受到他們可以學習的路由數量的限制。這通常在 10000 或 100000 條路線的范圍內。路由聚合可以有所幫助,但這通常取決于編排軟件(例如 OpenStack )使用的調度器的功能。

poYBAGJiG0uAU3s1AAD0fnmgwco577.png

圖 11 。典型的印花布部署

為 Kubernetes 部署選擇交換機時,請確保它的路由表大小不會限制 Kubernetes 的計算規模。 NVIDIA Spectrum ASIC 提供了完全靈活的表大小, Spectrum 1 支持多達 176000 個 IP 路由條目, Spectrum 2 支持多達 512000 個 IP 路由條目,支持全球最大企業運行的最大 Kubernetes 集群。

跨物理網絡和 Kubernetes 的路由棧持久性

在交換層上使用 Cumulus Linux 操作系統時,我們建議使用 FRR 作為節點上的路由棧,利用 BGP 未編號 。如果你正在尋找一個純開源的解決方案,考慮一下 NVIDIA Linux 交換機 ,它支持 FRR 和 BEAR 作為路由棧。

Kubernetes 的網絡可見性挑戰

容器會根據需要在群集中的任何服務器上自動啟動和銷毀。因為容器位于主機內部,所以網絡工程師可能看不到它們。你永遠不知道它們在哪里,也不知道它們何時被創造和毀滅。

眾所周知,運營現代敏捷數據中心非常困難,因為網絡可見性有限,流量模式不斷變化。

通過在運行 Cumulus 操作系統的 NVIDIA Spectrum 交換機上使用 Cumulus NetQ ,您可以廣泛了解 Kubernetes 部署,并在這些快速變化的動態環境中運行。

關于作者

Erez Scop 是 NVIDIA 的產品管理總監,負責管理存儲、數據平面開發套件 (DPDK) 和軟件加速產品線。Erez 是管理開源項目的 dpdk.org 管理委員會的成員。在加入Mellanox和NVIDIA之前,Erez 是 AudioCodes 有限公司的產品經理,在那里他領導了他們在電信、VoIP 和統一通信領域的主要產品線超過五年。Erez 在產品管理方面有超過 8 年的經驗,并擔任了超過 10 年的研發管理職位。Erez 擁有電氣電子工程 B.Sc 和 MBA 學位。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    5076

    瀏覽量

    103729
  • 操作系統
    +關注

    關注

    37

    文章

    6896

    瀏覽量

    123755
  • 交換機
    +關注

    關注

    21

    文章

    2656

    瀏覽量

    100181
收藏 人收藏

    評論

    相關推薦

    Kubernetes構建高效的容器化應用平臺

    Kubernetes 作為容器編排的事實標準,在容器化應用部署中發揮著關鍵作用。 搭建 Kubernetes 集群是應用的基礎。可以使用kubeadm工具快速搭建。在主節點執行kubeadm
    的頭像 發表于 01-23 15:22 ?84次閱讀

    使用 Flexus 云服務器 X 實例部署 Kubernetes 圖形化管理平臺

    Kubernetes 作為當今最流行的容器編排平臺,隨著云計算、微服務架構和 DevOps 文化的普及,Kubernetes 在自動化部署、擴展和管理容器化應用程序方面扮演著越來越重要的角色。未來
    的頭像 發表于 01-21 16:14 ?101次閱讀
    使用 Flexus 云服務器 X 實例部署 <b class='flag-5'>Kubernetes</b> 圖形化管理平臺

    Kubernetes的CNI網絡插件之flannel

    Kubernetes設計了網絡模型,但卻將它的實現講給了網絡插件,CNI網絡插件最重要的功能就是實現Pod資源能夠跨主機通信。
    的頭像 發表于 01-02 09:43 ?294次閱讀

    艾體寶與Kubernetes原生數據平臺AppsCode達成合作

    虹科姐妹公司艾體寶宣布與Kubernetes 原生數據平臺 AppsCode達成正式合作,致力于將其核心產品KubeDB引入中國市場,為企業提供專業、高效的云原生數據庫管理解決方案。
    的頭像 發表于 12-16 15:07 ?310次閱讀

    構建RFID數字化車場建設:從挑戰到解決方案

    構建數字化RFID停車場的項目復雜且充滿挑戰,它巧妙地整合了需求調研、體系架構設計、硬件配置、軟件開發、系統測試、員工培訓以及持續的改進等多個重要環節。以下是對該項目建設過程的深入探討和高級解讀
    的頭像 發表于 12-11 15:13 ?259次閱讀
    <b class='flag-5'>構建</b>RFID數字化車場建設:從<b class='flag-5'>挑戰</b>到解決方案

    電裝助力構建電池循環社會,促進社會可持續發展

    能源轉型具有重要意義。然而,隨著電動汽車數量的增加,車載電池的使用周期問題逐漸顯現,如何有效地回收和再利用這些電池成為行業面臨的挑戰。株式會社電裝(以下簡稱電裝)作為全球知名的汽車零部件和系統供應商,正積極通過構建“電池循環社會”,響應這一
    的頭像 發表于 11-26 10:52 ?334次閱讀

    Kubernetes集群搭建容器云需要幾臺服務器?

    Kubernetes集群搭建容器云需要幾臺服務器?至少需要4臺服務器。搭建容器云所需的服務器數量以及具體的搭建步驟,會根據所選用的技術棧、業務規模、架構設計以及安全需求等因素而有所不同。以下是一個基于Kubernetes集群的容器云搭建的概述:
    的頭像 發表于 10-21 10:06 ?197次閱讀

    國產端聯-斷連應用于飛控測試環境斷線測試箱

    斷連概述 斷連作為一種用于電路中斷連接的連接器,廣泛應用于電子測試設備和通信系統中。它能夠在特定條件下,通過手動插拔精準地中斷電路連接,以此模擬電路中的斷線狀態,從而實現對電路問題的檢測和診斷
    的頭像 發表于 10-08 15:07 ?337次閱讀

    利用AI構建實用量子計算應用

    在實踐中構建實用量子計算機的難度極高,這需要大幅提高量子計算機的規模、保真度、速度、可靠性和可編程性,才能充分發揮其優勢。另外,還需要功能強大的工具以解決許多阻礙實現實用量子計算的復雜物理挑戰和工程難題。
    的頭像 發表于 09-09 10:24 ?412次閱讀
    利用AI<b class='flag-5'>構建</b>實用量子計算應用

    使用Velero備份Kubernetes集群

    Velero 是 heptio 團隊(被 VMWare 收購)開源的 Kubernetes 集群備份、遷移工具。
    的頭像 發表于 08-05 15:43 ?402次閱讀
    使用Velero備份<b class='flag-5'>Kubernetes</b>集群

    RT-Thread Studio構建和重新構建的不同,一般我們編譯工程時用哪個?

    想請教在RT-Thread Studio中,構建和重新構建的不同,一般我們編譯工程時用哪個,謝謝!
    發表于 07-25 07:38

    如何使用Kubeadm命令在PetaExpress Ubuntu系統上安裝Kubernetes集群

    Kubernetes,通常縮寫為K8s,是一個開源的容器編排平臺,旨在自動化容器化應用的部署、擴展和管理。有了Kubernetes,您可以輕松地部署、更新和擴展應用,而無需擔心底層基礎設施。
    的頭像 發表于 07-15 13:31 ?914次閱讀
    如何使用Kubeadm命令在PetaExpress Ubuntu系統上安裝<b class='flag-5'>Kubernetes</b>集群

    振動電機偏心調整方法

    振動電機是一種將電能轉換為機械振動的設備,廣泛應用于礦山、煤炭、冶金、建材、化工、糧食等行業。振動電機的工作原理是通過偏心的旋轉產生離心力,從而實現物料的篩分、輸送、脫水等功能。偏心是振動電機
    的頭像 發表于 06-12 16:17 ?2283次閱讀

    交換芯片的構建方式

    交換芯片的構建方式是一個高度復雜且精細的過程,它涉及多個關鍵步驟和考量因素。下面將詳細闡述交換芯片的構建方式。
    的頭像 發表于 03-22 16:22 ?517次閱讀

    鴻蒙開發【編譯構建】講解

    編譯構建是將應用/服務的源代碼、資源、第三方庫等,通過編譯工具轉換為可直接在硬件設備上運行的二進制機器碼,然后再將二進制機器碼封裝為HAP/APP軟件包,并為HAP/APP包進行簽名的過程。其中
    發表于 02-27 17:41
    至尊百家乐官网娱乐场开户注册 | 澳门百家乐规律星期娱乐城博彩| 永盈会娱乐场官网| 百家乐官网群博乐吧blb8v| 真人百家乐软件博彩吧| 万豪网| 百家乐官网博弈指| 波克棋牌斗地主| 大上海百家乐官网娱乐城| 开棋牌室赚钱吗| 2024九紫离火| 卡宾娱乐| 百家乐百家乐视频| 沙河市| 新锦江百家乐娱乐场| 百家乐官网天下第一缆| 电脑百家乐官网的玩法技巧和规则| 免费百家乐统计软件| 网上百家乐官网游戏下载| 大发888 客服| 赌王百家乐官网的玩法技巧和规则 | 金牌百家乐的玩法技巧和规则| 百家乐官网群boaicai| 唐人街百家乐的玩法技巧和规则 | 襄垣县| 互博百家乐的玩法技巧和规则 | 青鹏棋牌游戏大厅v3.0| 百家乐概率投注| 德阳市| 联众百家乐的玩法技巧和规则| 红宝石百家乐官网娱乐城 | 皇冠网百家乐官网阿| 百家乐销售视频| 百家乐官网庄不连的概率| 老虎机加分器| 百家乐官网管理启发书| 威尼斯人娱乐城 线路畅通中心| 实战百家乐官网的玩法技巧和规则 | 永利百家乐赌场娱乐网规则| 百家乐官网一般多大码| 六合彩网上投注|