国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    文章

    5592

    瀏覽量

    109713
  • 操作系統
    +關注

    關注

    37

    文章

    7401

    瀏覽量

    129278
  • 交換機
    +關注

    關注

    23

    文章

    2904

    瀏覽量

    104460
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Kubernetes Pod調度策略原理與落地指南

    Pod調度是Kubernetes的核心機制之一,決定了Pod最終運行在哪個節點上。默認調度器kube-scheduler通過一系列預選(Filtering)和優選(Scoring)算法完成調度決策,但默認行為在生產環境中往往不夠用。
    的頭像 發表于 02-27 11:08 ?142次閱讀

    KubePi:開源Kubernetes可視化管理面板,讓集群管理如此簡單

    在界面上進行故障診斷和排查。 五、企業實戰案例:KubePi在不同場景的應用 5.1 中小企業統一管理平臺 挑戰 :中小型企業可能缺乏專業的Kubernetes運維人員,但需要高效管理其容器化
    發表于 02-11 12:53

    Kubernetes kubectl命令行工具詳解

    kubectl是Kubernetes官方提供的命令行工具,作為與Kubernetes集群交互的主要接口,它通過調用Kubernetes API Server實現對集群資源的全面管理。在生產環境中,運維工程師需要熟練掌握kubec
    的頭像 發表于 02-02 16:40 ?409次閱讀

    香港服務器支持Docker和Kubernetes嗎?

    在云原生技術成為主流的今天,Docker和Kubernetes(K8s)已成為現代化應用開發和部署的事實標準。對于選擇香港服務器的開發者與企業而言,一個核心問題是:香港服務器能否完美支持Docker
    的頭像 發表于 10-21 15:47 ?676次閱讀

    借助京東AI言犀提升Kubernetes集群巡檢的效率和準確性

    介紹 目前k8s-cluster-inspector組件可以自動化完成Kubernetes集群巡檢,并在巡檢結果中給出當前集群存在的問題,問題分級,問題類型,問題解決方法。 示例巡檢數據結構如下
    的頭像 發表于 09-15 16:56 ?551次閱讀
    借助京東AI言犀提升<b class='flag-5'>Kubernetes</b>集群巡檢的效率和準確性

    Kubernetes安全加固的核心技術

    在生產環境中,Kubernetes集群的安全性直接關系到企業數據安全和業務穩定性。本文將從實戰角度,帶你掌握K8s安全加固的核心技術。
    的頭像 發表于 08-18 11:18 ?802次閱讀

    高效管理Kubernetes集群的實用技巧

    作為一名經驗豐富的運維工程師,我深知在日常的Kubernetes集群管理中,熟練掌握kubectl命令是提升工作效率的關鍵。今天,我將分享15個經過實戰檢驗的kubectl實用技巧,幫助你像藝術家一樣優雅地管理K8s集群。
    的頭像 發表于 08-13 15:57 ?920次閱讀

    基于eBPF的Kubernetes網絡異常檢測系統

    作為一名在云原生領域深耕多年的運維工程師,我見過太多因為網絡問題導致的生產事故。傳統的監控手段往往是事后諸葛亮,當你發現問題時,用戶已經在抱怨了。今天,我將分享如何利用 eBPF 這一革命性技術,構建一套能夠實時檢測 Kubernetes 網絡異常的系統。
    的頭像 發表于 07-24 14:09 ?722次閱讀

    生產環境中Kubernetes容器安全的最佳實踐

    隨著容器化技術的快速發展,Kubernetes已成為企業級容器編排的首選平臺。然而,在享受Kubernetes帶來的便利性和可擴展性的同時,安全問題也日益凸顯。本文將從運維工程師的角度,深入探討生產環境中Kubernetes容器
    的頭像 發表于 07-14 11:09 ?730次閱讀

    南柯電子 汽車導航系統EMC整改:從0到1構建抗干擾系統的新挑戰

    南柯電子|汽車導航系統EMC整改:從0到1構建抗干擾系統的新挑戰
    的頭像 發表于 07-09 11:18 ?627次閱讀

    樹莓派部署 Kubernetes:通過 UDM Pro 實現 BGP 負載均衡!

    最近,我將家庭實驗室的架構核心切換為一組樹莓派。盡管在樹莓派上運行的Kubernetes發行版眾多,但在資源受限的設備上運行Kubernetes時,控制平面的開銷是一個常見挑戰
    的頭像 發表于 06-25 18:00 ?953次閱讀
    樹莓派部署 <b class='flag-5'>Kubernetes</b>:通過 UDM Pro 實現 BGP 負載均衡!

    Kubernetes Helm入門指南

    環境中部署和管理復雜應用的挑戰。Helm命令行客戶端工具,主要用于Kubernetes應用中的Chart的創建、打包、發布和管理。
    的頭像 發表于 04-30 13:42 ?3084次閱讀
    <b class='flag-5'>Kubernetes</b> Helm入門指南

    如何在基于Arm Neoverse平臺的CPU上構建分布式Kubernetes集群

    在本文中,我們將以 X(原 Twitter)為例,演示如何在基于 Arm Neoverse 平臺的 CPU 上構建分布式 Kubernetes 集群,以根據推文實時監控情緒變化。如此一來,你可以充分利用 Arm Neoverse 平臺的計算基礎,獲得更好的性能、效率和出色
    的頭像 發表于 03-25 15:58 ?835次閱讀
    如何在基于Arm Neoverse平臺的CPU上<b class='flag-5'>構建</b>分布式<b class='flag-5'>Kubernetes</b>集群

    Kubernetes中部署MySQL集群

    一般情況下 Kubernetes 可以通過 ReplicaSet 以一個 Pod 模板創建多個 pod 副本,但是它們都是無狀態的,任何時候它們都可以被一個全新的 pod 替換。
    的頭像 發表于 03-18 16:22 ?786次閱讀
    <b class='flag-5'>Kubernetes</b>中部署MySQL集群

    Kubernetes包管理工具Helm的安裝和使用

    Helm 可以幫助我們管理 Kubernetes 應用程序 - Helm Charts 可以定義、安裝和升級復雜的 Kubernetes 應用程序,Charts 包很容易創建、版本管理、分享和分布。
    的頭像 發表于 03-13 16:06 ?2181次閱讀