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

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

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

3天內不再提示

全面解析Kubernetes自動化容器操作的開源平臺

馬哥Linux運維 ? 來源:CSDN技術社區 ? 作者:stackpush ? 2021-06-04 15:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一個目標:容器操作;兩地三中心;四層服務發現;五種Pod共享資源;六個CNI常用插件;七層負載均衡;八種隔離維度;九個網絡模型原則;十類IP地址;百級產品線;千級物理機;萬級容器;相如無億,Kubernetes有億:億級日服務人次。

一個目標:容器操作

Kubernetes是自動化容器操作的開源平臺。這些容器操作包括:部署,調度和節點集群間擴展。

具體功能:

自動化容器部署和復制。

實時彈性收縮容器規模。

容器編排成組,并提供容器間的負載均衡。

調度:容器在哪個機器上運行。

組成:

kubectl:客戶端命令行工具,作為整個系統的操作入口。

kube-apiserver:以REST API服務形式提供接口,作為整個系統的控制入口。

kube-controller-manager:執行整個系統的后臺任務,包括節點狀態狀況、Pod個數、Pods和Service的關聯等。

kube-scheduler:負責節點資源管理,接收來自kube-apiserver創建Pods任務,并分配到某個節點。

etcd:負責節點間的服務發現和配置共享。

kube-proxy:運行在每個計算節點上,負責Pod網絡代理。定時從etcd獲取到service信息來做相應的策略。

kubelet:運行在每個計算節點上,作為agent,接收分配該節點的Pods任務及管理容器,周期性獲取容器狀態,反饋給kube-apiserver。

DNS:一個可選的DNS服務,用于為每個Service對象創建DNS記錄,這樣所有的Pod就可以通過DNS訪問服務了。

下面是Kubernetes的架構拓撲圖:

9e1b36ae-c482-11eb-9e57-12bb97331649.jpg

兩地三中心

兩地三中心包括本地生產中心、本地災備中心、異地災備中心。

兩地三中心要解決的一個重要問題就是數據一致性問題。Kubernetes使用etcd組件作為一個高可用、強一致性的服務發現存儲倉庫。用于配置共享和服務發現。

它作為一個受到ZooKeeper和Doozer啟發而催生的項目。除了擁有他們的所有功能之外,還擁有以下4個特點:

簡單:基于http+json的API讓你用curl命令就可以輕松使用。

安全:可選SSL客戶認證機制。

快速:每個實例每秒支持一千次寫操作。

可信:使用Raft算法充分實現了分布式。

四層服務發現

先上一張圖解釋一下網絡七層協議:

9e61daaa-c482-11eb-9e57-12bb97331649.jpg

Kubernetes提供了兩種方式進行服務發現:

環境變量:當創建一個Pod的時候,kubelet會在該Pod中注入集群內所有Service的相關環境變量。需要注意的是,要想一個Pod中注入某個Service的環境變量,則必須Service要先比該Pod創建。這一點,幾乎使得這種方式進行服務發現不可用。

比如,一個ServiceName為redis-master的Service,對應的ClusterIP:Port為10.0.0.11:6379,則對應的環境變量為:

9e7205f6-c482-11eb-9e57-12bb97331649.jpg

DNS:可以通過cluster add-on的方式輕松的創建KubeDNS來對集群內的Service進行服務發現。

以上兩種方式,一個是基于TCP,眾所周知,DNS是基于UDP的,它們都是建立在四層協議之上。

五種Pod共享資源

Pod是Kubernetes最基本的操作單元,包含一個或多個緊密相關的容器,一個Pod可以被一個容器化的環境看作應用層的“邏輯宿主機”;一個Pod中的多個容器應用通常是緊密耦合的,Pod在Node上被創建、啟動或者銷毀;每個Pod里運行著一個特殊的被稱之為Volume掛載卷,因此他們之間通信和數據交換更為高效,在設計時我們可以充分利用這一特性將一組密切相關的服務進程放入同一個Pod中。

同一個Pod里的容器之間僅需通過localhost就能互相通信。一個Pod中的應用容器共享五種資源:

PID命名空間:Pod中的不同應用程序可以看到其他應用程序的進程ID。

網絡命名空間:Pod中的多個容器能夠訪問同一個IP和端口范圍。

IPC命名空間:Pod中的多個容器能夠使用SystemV IPC或POSIX消息隊列進行通信。

UTS命名空間:Pod中的多個容器共享一個主機名。

Volumes(共享存儲卷):Pod中的各個容器可以訪問在Pod級別定義的Volumes。

Pod的生命周期通過Replication Controller來管理;通過模板進行定義,然后分配到一個Node上運行,在Pod所包含容器運行結束后,Pod結束。

Kubernetes為Pod設計了一套獨特的網絡配置,包括:為每個Pod分配一個IP地址,使用Pod名作為容器間通信的主機名等。

六個CNI常用插件

CNI(Container Network Interface)容器網絡接口,是Linux容器網絡配置的一組標準和庫,用戶需要根據這些標準和庫來開發自己的容器網絡插件。CNI只專注解決容器網絡連接和容器銷毀時的資源釋放,提供一套框架,所以CNI可以支持大量不同的網絡模式,并且容易實現。

下面用一張圖表示六個CNI常用插件:

9ec8b874-c482-11eb-9e57-12bb97331649.jpg

七層負載均衡

提負載均衡就不得不先提服務器之間的通信。

IDC(Internet Data Center),也可稱數據中心、機房,用來放置服務器。IDC網絡是服務器間通信的橋梁。

上圖里畫了很多網絡設備,它們都是干啥用的呢?

路由器、交換機、MGW/NAT都是網絡設備,按照性能、內外網劃分不同的角色。

內網接入交換機:也稱為TOR(top of rack),是服務器接入網絡的設備。每臺內網接入交換機下聯40-48臺服務器,使用一個掩碼為/24的網段作為服務器內網網段。

內網核心交換機:負責IDC內各內網接入交換機的流量轉發及跨IDC流量轉發。

MGW/NAT:MGW即LVS用來做負載均衡,NAT用于內網設備訪問外網時做地址轉換。

外網核心路由器:通過靜態互聯運營商或BGP互聯美團統一外網平臺。

先說說各層負載均衡:

二層負載均衡:基于MAC地址的二層負載均衡。

三層負載均衡:基于IP地址的負載均衡。

四層負載均衡:基于IP+端口的負載均衡。

七層負載均衡:基于URL等應用層信息的負載均衡。

這里用一張圖來說說四層和七層負載均衡的區別:

9ede1728-c482-11eb-9e57-12bb97331649.jpg

上面四層服務發現講的主要是Kubernetes原生的kube-proxy方式。Kubernetes關于服務的暴露主要是通過NodePort方式,通過綁定minion主機的某個端口,然后進行Pod的請求轉發和負載均衡,但這種方式有下面的缺陷:

Service可能有很多個,如果每個都綁定一個Node主機端口的話,主機需要開放外圍的端口進行服務調用,管理混亂。

無法應用很多公司要求的防火墻規則。

理想的方式是通過一個外部的負載均衡器,綁定固定的端口,比如80,然后根據域名或者服務名向后面的Service IP轉發,Nginx很好的解決了這個需求,但問題是如果有的新的服務加入,如何去修改Nginx的配置,并且加載這些配置?Kubernetes給出的方案就是Ingress。這是一個基于7層的方案。

八種隔離維度

Kubernetes集群調度這邊需要對上面從上到下從粗粒度到細粒度的隔離做相應的調度策略。

九個網絡模型原則

Kubernetes網絡模型要符合4個基礎原則,3個網絡要求原則,1個架構原則,1個IP原則。

每個Pod都擁有一個獨立的IP地址,而且假定所有Pod都在一個可以直接連通的、扁平的網絡空間中,不管是否運行在同一Node上都可以通過Pod的IP來訪問。

Kubernetes中的Pod的IP是最小粒度IP。同一個Pod內所有的容器共享一個網絡堆棧,該模型稱為IP-per-Pod模型。

Pod由docker0實際分配的IP,Pod內部看到的IP地址和端口與外部保持一致。同一個Pod內的不同容器共享網絡,可以通過localhost來訪問對方的端口,類似同一個VM內不同的進程。

IP-per-Pod模型從端口分配、域名解析、服務發現、負載均衡、應用配置等角度看,Pod可以看做是一臺獨立的VM或物理機。

所有容器都可以不用NAT的方式同別的容器通信。

所有節點都可以在不同NAT方式下同所有容器心痛,反之亦然。

容器的地址和別人看到的地址是同一個地址。

要符合下面的架構:

由上圖架構引申出來IP概念從集群外部到集群內部。

十類IP地址

大家都知道IP地址分為ABCDE類,另外還有5類特殊用途的IP。

A類

1.0.0.0-126.255.255.255,默認子網掩碼/8,即255.0.0.0

B類

128.0.0.0-191.255.255.255,默認子網掩碼/16,即255.255.0.0

C類

192.0.0.0-223.255.255.255,默認子網掩碼/24,即255.255.255.0

D類

224.0.0.0-239.255.255.255,一般用于組播

E類

240.0.0.0-255.255.255.255(其中255.255.255.255為全網廣播地址),E類地址一般用于研究用途

0.0.0.0

嚴格來說,0.0.0.0已經不是一個真正意義上的IP地址了。它表示的是這樣一個集合:所有不清楚的主機和目的網絡。這里的不清楚是指在本機的路由表里沒有特定條目指明如何到達。作為缺省路由。

127.0.0.1

本機地址。

224.0.0.1

組播地址。如果你的主機開啟了IRDP(Internet路由發現,使用組播功能),那么你的主機路由表中應該有這樣一條路由。

169.254.x.x

使用了DHCP功能自動獲取了IP的主機,DHCP服務器發生故障,或響應時間太長而超出了一個系統規定的時間,系統會為你分配這樣一個IP,代表網絡不能正常運行。

10.xxx、172.16.x.x~172.31.x.x、192.168.x.x

私有地址,大量用于企業內部。保留這樣的地址是為了避免亦或是哪個接入公網時引起地址混亂。

編輯:jq

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

    關注

    2

    文章

    2373

    瀏覽量

    66800
  • DNS
    DNS
    +關注

    關注

    0

    文章

    229

    瀏覽量

    21162
  • 容器
    +關注

    關注

    0

    文章

    531

    瀏覽量

    22970
  • SSL
    SSL
    +關注

    關注

    0

    文章

    132

    瀏覽量

    26756

原文標題:Kubernetes 超詳細總結

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

    :人人可用的開源數據可視化分析工具,可用于Kubernetes集群數據的實時可視化分析。 MeterSphere :開源持續測試平臺,支持Kube
    發表于 02-11 12:53

    宏集分享 | 工業自動化的演進路徑:X平臺如何隨行業發展不斷進化

    在工業自動化領域,沒有什么是一成不變的。從最初的孤立機械,到如今互聯互通、數據驅動乃至服務架構的全面落地,自動化已經完成了從“孤島時代”到“生態系統時代”的根本性轉變。而這一切的核心
    的頭像 發表于 01-22 17:02 ?1763次閱讀
    宏集分享 | 工業<b class='flag-5'>自動化</b>的演進路徑:X<b class='flag-5'>平臺</b>如何隨行業發展不斷進化

    容器NPB + Ansible:自動化運維方案

    傳統NPB設備手動配置效率低下。星融元NPB 2.0基于SONiC系統,支持通過Ansible實現自動化運維。通過編寫Playbook可批量秒級下發配置至多臺設備,將數小時操作轉化為標準流程,實現零差錯、可追溯的策略管理,極大
    的頭像 發表于 12-08 12:00 ?932次閱讀
    <b class='flag-5'>容器</b><b class='flag-5'>化</b>NPB + Ansible:<b class='flag-5'>自動化</b>運維方案

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

    Kubernetes的部署與運行? 答案是肯定的,而且香港服務器由于其獨特的優勢,往往是部署容器應用的絕佳選擇。 下面,我們將從技術支持、網絡優勢、實踐指南和注意事項等方面,全面
    的頭像 發表于 10-21 15:47 ?687次閱讀

    水下目標智能識別系統平臺全面解析

    水下目標智能識別系統平臺全面解析
    的頭像 發表于 10-17 17:09 ?360次閱讀
    水下目標智能識別系統<b class='flag-5'>平臺</b><b class='flag-5'>全面</b><b class='flag-5'>解析</b>

    測試小白3分鐘上手,零代碼自動化測試平臺,15分鐘搭建自動化測試方案

    還在為不懂代碼、搭建測試方案耗時久而發愁?ATECLOUD 零代碼自動化測試平臺,專為自動化測試量身打造,小白3 分鐘就能輕松上手,15 分鐘即可完成自動化測試方案搭建,徹底打破傳統測
    的頭像 發表于 09-22 17:52 ?856次閱讀
    測試小白3分鐘上手,零代碼<b class='flag-5'>自動化</b>測試<b class='flag-5'>平臺</b>,15分鐘搭建<b class='flag-5'>自動化</b>測試方案

    電磁兼容與頻譜管理系統平臺全面解析

    電磁兼容與頻譜管理系統平臺全面解析
    的頭像 發表于 09-16 16:45 ?615次閱讀
    電磁兼容與頻譜管理系統<b class='flag-5'>平臺</b><b class='flag-5'>全面</b><b class='flag-5'>解析</b>

    電磁干擾抑制系統平臺全面解析

    電磁干擾抑制系統平臺全面解析
    的頭像 發表于 08-11 15:50 ?993次閱讀
    電磁干擾抑制系統<b class='flag-5'>平臺</b><b class='flag-5'>全面</b><b class='flag-5'>解析</b>

    自動化測試平臺中TestCenter和ATECLOUD有哪些差異?

    TestCenter和ATECLOUD雖然都是自動化測試平臺,但兩者在試用領域、技術架構、功能特性等方面具有很大的差異性,兩者的面向客戶也有所不同。本文將簡單分析兩個平臺的特點和差異
    的頭像 發表于 07-25 09:54 ?707次閱讀
    <b class='flag-5'>自動化</b>測試<b class='flag-5'>平臺</b>中TestCenter和ATECLOUD有哪些差異?

    解析K8S實用命令

    前言: 作為運維工程師,掌握 Kubernetes 命令行工具是日常工作的核心技能。本文將深入解析 K8S 最實用的命令,從基礎操作到高級技巧,助你成為容器
    的頭像 發表于 07-24 14:07 ?878次閱讀

    自動化測試平臺ATECLOUD推出AI算法功能

    作為納米軟件自主研發的自動化測試平臺,ATECLOUD 始終致力于為用戶提供高效優質的測試解決方案。面對5G、AI等前沿技術的迭代發展,平臺深度融合新技術持續升級測試能力,最新推出的AI算法功能更在
    的頭像 發表于 07-22 16:10 ?815次閱讀
    <b class='flag-5'>自動化</b>測試<b class='flag-5'>平臺</b>ATECLOUD推出AI算法功能

    嵌入式工業顯示器如何提升自動化設備的操作效率??

    在工業 4.0 的浪潮下,自動化設備在各行業中的應用愈發廣泛,而嵌入式工業顯示器作為自動化設備的關鍵人機交互界面,其性能優劣直接影響著設備的操作效率。那么,嵌入式工業顯示器是如何提升自動化
    的頭像 發表于 07-14 15:55 ?687次閱讀

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

    隨著容器技術的快速發展,Kubernetes已成為企業級容器編排的首選平臺。然而,在享受Kuberne
    的頭像 發表于 07-14 11:09 ?740次閱讀

    電磁環境動態監測與分析平臺軟件全面解析

    電磁環境動態監測與分析平臺軟件全面解析
    的頭像 發表于 04-28 16:28 ?717次閱讀
    電磁環境動態監測與分析<b class='flag-5'>平臺</b>軟件<b class='flag-5'>全面</b><b class='flag-5'>解析</b>

    電磁脈沖防護系統平臺全面解析

    電磁脈沖防護系統平臺全面解析
    的頭像 發表于 04-27 16:57 ?1004次閱讀
    電磁脈沖防護系統<b class='flag-5'>平臺</b><b class='flag-5'>全面</b><b class='flag-5'>解析</b>