色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    4978

    瀏覽量

    102990
  • 操作系統
    +關注

    關注

    37

    文章

    6801

    瀏覽量

    123285
  • 交換機
    +關注

    關注

    21

    文章

    2637

    瀏覽量

    99535
收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

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

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

    使用Velero備份Kubernetes集群

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

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

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

    振動電機偏心調整方法

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

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

    編譯構建是將應用/服務的源代碼、資源、第三方庫等,通過編譯工具轉換為可直接在硬件設備上運行的二進制機器碼,然后再將二進制機器碼封裝為HAP/APP軟件包,并為HAP/APP包進行簽名的過程。其中
    發表于 02-27 17:41

    西門子博途:屬性- 隱藏參數

    在 LAD 或 FBD 中調用該時,可隱藏參數。剛開始時,隱藏的參數不可見;但可通過框底部邊緣處的小箭頭進行顯示。
    發表于 01-16 09:30 ?1991次閱讀
    西門子博途:<b class='flag-5'>塊</b>屬性- 隱藏<b class='flag-5'>塊</b>參數

    西門子博途示例:設置優化訪問

    默認情況下,為 S7 - 1200/1500 的所有新創建的啟用優化訪問??蔀? OB、FB 和全局DB設置訪問。對于背景DB,設置來自各自的 FB。 如果將從 S7- 300
    的頭像 發表于 01-15 10:41 ?5669次閱讀
    西門子博途示例:設置優化<b class='flag-5'>塊</b>訪問

    Kubernetes Gateway API攻略教程

    Kubernetes Gateway API 剛剛 GA,旨在改進將集群服務暴露給外部的過程。這其中包括一套更標準、更強大的 API資源,用于管理已暴露的服務。在這篇文章中,我將介紹 Gateway
    的頭像 發表于 01-12 11:32 ?882次閱讀
    <b class='flag-5'>Kubernetes</b> Gateway API攻略教程

    配置Kubernetes中Pod使用代理的兩種常見方式

    在企業網絡環境中進行Kubernetes集群的管理時,經常會遇到需要配置Pods通過HTTP代理服務器訪問Internet的情況。這可能是由于各種原因,如安全策略限制、網絡架構要求或者訪問特定資源
    的頭像 發表于 01-05 11:22 ?1127次閱讀
    配置<b class='flag-5'>Kubernetes</b>中Pod使用代理的兩種常見方式

    如何快速為DB變量添加屬性

    有些情況需要為PLC DB變量添加一些屬性,常規的做法是在DB中選中這個變量,然后打開變量屬性輸入屬性名稱和屬性值。
    的頭像 發表于 01-02 14:18 ?2163次閱讀
    如何快速為DB<b class='flag-5'>塊</b>變量添加屬性

    使用Jenkins和單個模板部署多個Kubernetes組件

    在持續集成和部署中,我們通常需要部署多個實例或組件到Kubernetes集群中。通過Jenkins的管道腳本,我們可以自動化這個過程。在本文中,我將演示如何使用Jenkins Pipeline及單個
    的頭像 發表于 01-02 11:40 ?760次閱讀
    使用Jenkins和單個模板部署多個<b class='flag-5'>Kubernetes</b>組件

    Kubernetes RBAC:掌握權限管理的精髓

    Kubernetes RBAC(Role-Based Access Control)是 Kubernetes 中一項關鍵的安全功能,它通過細粒度的權限控制機制,確保集群資源僅被授權的用戶或服務賬號訪問。
    的頭像 發表于 12-25 09:43 ?472次閱讀
    主站蜘蛛池模板: 动漫美女和男人下载| 国产精品久久久久影院色| 无遮18禁在线永久免费观看挡| 亚洲电影网址| 99视频在线看观免费| 国产九九九九九九九A片| 魔乳 堕乳漫画acg产卵| 亚洲成a人片777777久久| www.亚洲天堂| 久草青青在线| 无码人妻精品国产婷婷| 999www成人免费视频| 国产亚洲精品网站在线视频| 榴莲推广APP网站入口官网| 无码人妻精品国产婷婷| a在线观看免费视频| 精品四虎国产在免费观看| 78m成人亚洲| 黄色三级视频在线观看| 日日射日日操| xxxxhdvideos动漫| 久久精品国产福利电影网| 香蕉eeww99国产精品| 成人免费一区二区无码视频| 蜜柚视频在线观看全集免费观看| 亚洲AV永久无码精品澳门| 成人影片迅雷下载| 免费观看的毛片| 最新黄色在线| 久久这里有精品| 在线国产视频观看| 久久999视频| 影音先锋2017av天堂| 精品久久久久久久国产潘金莲| 亚洲成A人片在线观看中文L| 工口肉肉彩色不遮挡| 丝袜美女自摸| 国产三级精品三级男人的天堂| 天美传媒MV高清免费看| 国产69精品久久久久观看软件| 日韩一区精品视频一区二区|