日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

k8s pod部署到不同node_部署Dotnet Core应用到Kubernetes(一) - 老王Plus

發布時間:2025/3/19 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 k8s pod部署到不同node_部署Dotnet Core应用到Kubernetes(一) - 老王Plus 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近閑了點,寫個大活:部署Dotnet應用到K8s。

寫在前邊的話

一直想完成這個主題。但這個主題實在太大了,各種拖延癥的小宇宙不時爆發一下,結果就拖到了現在。

這個主題,會是一個系列。在這個系列中,我會討論將應用部署到K8s時需要的各個內容和知識,以及各種刨過的坑。

為了避免這個系列被擴得過大,我不深入討論K8s的技術,也不去解釋如何建立K8s集群之類的問題。這個主題會側重在開發人員方面,側重于如何開發適合K8s的應用,以及在K8s上部署。

另外,這個主題也不會關注Docker。在我看來,Docker是一個附加技術,而不是必要內容。

在項目中,是否需要使用K8s,算是一個問題。從各個方面來看,很多中大型的項目都傾向于往這個方面去做,但我們必須清楚,使用K8s增加了項目的復雜度。如果構建的是一個獨立的應用程序,那用K8s實在沒有必要。而即便是一個大的系統,其實也沒有必要從開頭就加入K8s。

本主題中的內容大多來自我自己部署Dotnet Core到K8s集群的經驗。如果有任何問題,可以在評論中告訴我。

????為防止非授權轉發,這兒給出本文的原文鏈接:https://www.cnblogs.com/tiger-wang/p/13956098.html

K8s(Kubernetes)面向開發的組件

前邊說了,這個主題我們僅關注部署應用程序相關的部分,而不討論K8s的全部。

面向開發,面向部署,我們需要了解下面幾個概念:

  • 節點(Node)
  • Pod
  • 部署(Deployment)
  • 服務(Service)
  • 入口(Ingress)

這幾個概念,是整個內容的基礎。

1. 節點(Node)

在K8s中,Node對應的是虛擬機或物理硬件,是K8s實際運行容器的地方。

一般來說,有兩類節點:

  • 主節點(Master),用來運行所有的控制級(Control-plane)服務。主節點也可以運行應用程序,但一般來說,主節點只處理控制管理服務,不運行工作負載。
  • 其它節點,用來運行真正的應用程序。一個節點可以運行多個應用程序或應用程序容器。

一個典型的K8s集群會像下面圖中的樣子:

當然,在實際應用中,看K8s的規模。必要時,也可以做成單機,主節點運行控制服務的同時,也運行應用程序。

在集群中,節點越多,可以運行的應用或容器就越多,節點宕機時的容錯能力也就越大。

2. Pod

K8s中最小的管理單元,不是一個個獨立的容器,而是Pod。

要在K8s中運行應用程序,需要將其打包到一個容器(通常是Docker容器)中,并讓K8s運行它。Pod是可以讓K8s運行的最小單元。它包含一個或多個容器。當一個Pod被創建或銷毀時,它里面的所有容器也會被創建或銷毀。

在網上,很多的文章都介紹說:如果有一個依賴于數據庫的應用,那應該把應用容器和數據庫容器部署在同一個Pod中,以便同步創建或銷毀。

以我的經驗來說,這個說法很不準確,而且容易造成對K8s應用的誤解。在K8s的實際應用中,只包含單個容器的Pod會更常用,也更好用。就好像“支付API”或“訂單API”這樣的,每個API都有不同的擴展需求、部署要求和迭代速度,因此單獨設置Pod給它們是非常合理的。同樣,數據庫容器也應該部署在獨立的Pod中,因為它與應用/服務/API會有不同的生命周期。

還有一個比較常用的是SideCar模式,就是在一個Pod下的主容器旁邊部署“SIdeCar“容器,用來充當代理,為主應用程序進行身份證認處理,或服務發現,以及服務通訊,甚至能充當應用性能監控的接收器來用。

一個典型的節點下的Pod是下面的樣子:

再重申一下:一個節點下面可以有多個Pod。一個Pod在K8s中會作為一個整體單元進行調度。一個Pod可能包含一個容器,也可能包含多個容器。容器用于部署應用或API。

3. 部署

在我的概念中,K8s主要做了兩件事:

K8s的部署,主要完成的是第一件事,即管理容器的生存周期。所以,部署可以看做是定義K8s如何部署Pod以及如果管理Pod的一組規則。

比方,我們可能這樣定義一個部署:

  • Pod包含支付API應用Docker映像的一個實例;
  • 我們要運行這個Pod的三個副本
  • 保證每個容器至少有200Mb的可用內存,并限制它最多不超過400Mb;
  • 當我們部署Pod新版本時,采用滾動更新策略
  • 定義完后,K8s就會嚴格執行這個規則。如果應用崩潰了,K8s會刪除Pod并安排一個新的Pod,以保證規則規定的副本數量。如果Pod需要更多內存,K8s會選擇一個運行容器較少的節點上運行它,或者結束并重新部署它。當應用更新一個新版本時,K8s會創建一個新的部署,來替換舊版本,并將運行轉到新的版本。

    當然,上面這個例子做了一定的簡化。不過,基本上K8s的基本工作就是這么做的。

    這里的關鍵就是:部署定義了規則,K8s在這個部署的整個生命周期中維護并保持這個規則。

    4. 服務

    前面說過,部署可以用來創建跨多個節點(Node)的Pod的多個副本。這其實就是K8s提高性能及提高可用性的主要原理。

    服務是應用對外的部分,供其它API去調用。而在K8s內部,服務可以看作是Pod在集群內的負載均衡器。當我們創建部署時,通常還會創建一個與該應用的Pod關聯的服務。

    在上面的例子中,當我們創建部署時,也會創建一個“Payment API”的服務,供其它API調用。

    而當其它Pod需要與這個支付API的Pod通訊時,實際不會與支付API的一個Pod直接聯系,而是將請求發給服務,然后由服務將請求傳遞給某一個Pod的實例。

    這個過程參見下面的圖:

    服務與網絡相關。因此,服務有多種不同的網絡模式。這里不詳細說了,只拿一個常用的模式舉個例子:

    K8s將服務分配到一個DNS記錄,并通過這個記錄將請求從一個Pod轉發到另一個Pod。

    假設我們有一個支付服務,而我們的購買服務需要調用這個服務。K8s不需要知道Pod的真實IP,我們只需要分配一個DNS記錄給服務:


    通過這個域名,購買服務可以調用支付服務,而不需要知道支付服務對應的Pod的真正IP。

    這個工作方式與Dotnet體系完全一樣。通過這種方式,可以實現對資源的邏輯分組,這是題外話。

    5. 入口

    入口與服務很像,但有本質的不同。

    服務本質上是K8s集群內部的東西,用來實現Pod之間的內部調用。而入口將HTTP/HTTPS從集群外部路由到內部的服務,這樣,外部應用,例如前端、APP或小程序就可以通過這個入口,調用內部服務來處理請求。

    同時,入口也可以當成提供外部負載均衡,即跨多個節點平衡對給定服務的請求。

    除此之外,入口也可以提供其它一些特性,例如主機名或基于路徑的路由。通常,我們可以為每個應用或API配置一個入口。

    還有,入口設置也可以用來做應用的反向代理。例如通過一個Nginx實例來配置入口。這都是可以的,而且這樣的方式,可以讓API隱藏在反向代理之后,而不用直接暴露在外網。這個部分,在后面的文章,我會專門寫。

    總結一下

    這篇文章是這個系列的一個引子。

    當我們在K8s中部署一個Dotnet Core的應用時,我們需要配置Pod部署,添加服務來在K8s內部公開這些Pod,并添加一個入口來公開服務。

    本系列的后續文章中,我會從開發的各個環節來解釋如何使用這些組件來部署Dotnet Core應用到K8s。

    敬請關注!!!

    (未完待續)


    微信公眾號:老王Plus

    掃描二維碼,關注個人公眾號,可以第一時間得到最新的個人文章和內容推送

    本文版權歸作者所有,轉載請保留此聲明和原文鏈接

    總結

    以上是生活随笔為你收集整理的k8s pod部署到不同node_部署Dotnet Core应用到Kubernetes(一) - 老王Plus的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美在线观看www | 久久久久久久久久久久久女国产乱 | 婷婷在线综合 | 日韩精品美女 | 高贵麻麻被调教成玩物 | 视频免费在线观看 | 四虎精品一区二区 | 99热这里只有精品首页 | 中文字幕日韩经典 | 黑人巨大精品欧美一区二区 | 中国久久久 | 精品久| av不卡高清 | 亚洲激情免费 | 精品久久久亚洲 | 色噜噜狠狠成人中文 | 两性视频久久 | 国产成人a亚洲精品 | 日本3级网站 | 黑人黄色大片 | 欧美激情片在线观看 | 九九热在线视频免费观看 | 打白嫩屁屁网站视频短裙 | 少妇无套内谢久久久久 | 日韩网站免费观看高清 | 天天天天色 | 国产精品嫩草影院av蜜臀 | 在线观看成年人网站 | 亚洲中文字幕97久久精品少妇 | 久久久久久久久久久影院 | 麻豆md0034在线观看 | 无码人妻精品一区二区 | 国产毛片电影 | 成人黄色在线观看视频 | 欧美成年人在线观看 | 天堂视频在线 | 一级黄色影院 | 国产乱淫av麻豆国产免费 | 国产精品sm调教免费专区 | 色无五月 | 少妇野外性xx老女人野外性xx | 麻豆三级在线观看 | 三级视频网站在线观看 | 成人在线播放视频 | 变态另类一区二区 | 国产suv精品一区二区三区 | 成人av综合网 | 成人小视频免费观看 | 黄色一级大片免费看 | 超碰最新在线 | 日产电影一区二区三区 | 久久曹| 91黄色免费网站 | 欧美在线a | 国模无码大尺度一区二区三区 | 久久久久久久91 | 日本精品一区二区 | 丝袜ol美脚秘书在线播放 | 中文乱码人妻一区二区三区视频 | 欧美偷拍第一页 | 久久桃色| 日本一本久草 | 在线观看午夜视频 | 国产aⅴ激情无码久久久无码 | 9.1成人看片| 青青草在线免费观看 | 国产精品九九九九九 | 人妻激情偷乱频一区二区三区 | 麻豆视| 免费看国产黄色片 | 99国产精品99久久久久久粉嫩 | 91青青草视频 | 大地资源高清播放在线观看 | 成人欧美一区二区三区黑人 | 广州毛片| 九九碰 | 欧美激情第三页 | √天堂资源在线 | 香蕉在线影院 | 激情开心站| 亚洲成人日韩在线 | 天天爽夜夜爽夜夜爽精品 | 国产日韩精品一区二区三区在线 | 国产伊人久久 | 欧美第二区 | 天堂在线91 | 午夜肉伦伦影院 | 日本高清免费aaaaa大片视频 | 亚洲欧洲日本国产 | 91精品在线看 | 污黄视频在线观看 | 亚洲综合视频网 | 国产最新视频在线 | 亚洲精品福利视频 | 超级砰砰砰97免费观看最新一期 | 精品一区二区在线视频 | 伊人看片| 欧美成人黄色网 | 亚洲av成人无码网天堂 |