<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          K8s 超詳細(xì)總結(jié)!

          共 4509字,需瀏覽 10分鐘

           ·

          2021-12-18 22:28

          作者:stackpush

          來源:blog.csdn.net/huakai_sun/article/details/82378856
          上一篇:SQL查找是否"存在",別再count了!

          一個(gè)目標(biāo):容器操作;兩地三中心;四層服務(wù)發(fā)現(xiàn);五種Pod共享資源;六個(gè)CNI常用插件;七層負(fù)載均衡;八種隔離維度;九個(gè)網(wǎng)絡(luò)模型原則;十類IP地址;百級(jí)產(chǎn)品線;千級(jí)物理機(jī);萬級(jí)容器;相如無億,K8s有億:億級(jí)日服務(wù)人次。

          一個(gè)目標(biāo):容器操作


          Kubernetes(k8s)是自動(dòng)化容器操作的開源平臺(tái)。這些容器操作包括:部署、調(diào)度和節(jié)點(diǎn)集群間擴(kuò)展。

          具體功能:

          調(diào)度:容器在哪個(gè)機(jī)器上運(yùn)行。

          組成:

          下面是K8s的架構(gòu)拓?fù)鋱D:


          兩地三中心


          兩地三中心包括本地生產(chǎn)中心、本地災(zāi)備中心、異地災(zāi)備中心。

          兩地三中心要解決的一個(gè)重要問題就是數(shù)據(jù)一致性問題。k8s使用etcd組件作為一個(gè)高可用、強(qiáng)一致性的服務(wù)發(fā)現(xiàn)存儲(chǔ)倉庫。用于配置共享和服務(wù)發(fā)現(xiàn)。搜索公眾號(hào)互聯(lián)網(wǎng)架構(gòu)師復(fù)“2T”,送你一份驚喜禮包。
          它作為一個(gè)受到Zookeeper和doozer啟發(fā)而催生的項(xiàng)目。除了擁有他們的所有功能之外,還擁有以下4個(gè)特點(diǎn):


          四層服務(wù)發(fā)現(xiàn)


          先一張圖解釋一下網(wǎng)絡(luò)七層協(xié)議:

          k8s提供了兩種方式進(jìn)行服務(wù)發(fā)現(xiàn):
          環(huán)境變量:當(dāng)創(chuàng)建一個(gè)Pod的時(shí)候,kubelet會(huì)在該P(yáng)od中注入集群內(nèi)所有Service的相關(guān)環(huán)境變量。需要注意的是,要想一個(gè)Pod中注入某個(gè)Service的環(huán)境變量,則必須Service要先比該P(yáng)od創(chuàng)建。這一點(diǎn),幾乎使得這種方式進(jìn)行服務(wù)發(fā)現(xiàn)不可用。搜索公眾號(hào)互聯(lián)網(wǎng)架構(gòu)師復(fù)“2T”,送你一份驚喜禮包
          比如,一個(gè)ServiceName為redis-master的Service,對(duì)應(yīng)的ClusterIP:Port為10.0.0.11:6379,則對(duì)應(yīng)的環(huán)境變量為:

          DNS:可以通過cluster add-on的方式輕松的創(chuàng)建KubeDNS來對(duì)集群內(nèi)的Service進(jìn)行服務(wù)發(fā)現(xiàn)。

          以上兩種方式,一個(gè)是基于tcp,眾所周知,DNS是基于UDP的,它們都是建立在四層協(xié)議之上。

          五種Pod共享資源


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

          同一個(gè)Pod里的容器之間僅需通過localhost就能互相通信。
          一個(gè)Pod中的應(yīng)用容器共享五種資源:
          Pod的生命周期通過Replication Controller來管理;通過模板進(jìn)行定義,然后分配到一個(gè)Node上運(yùn)行,在Pod所包含容器運(yùn)行結(jié)束后,Pod結(jié)束。
          Kubernetes為Pod設(shè)計(jì)了一套獨(dú)特的網(wǎng)絡(luò)配置,包括:為每個(gè)Pod分配一個(gè)IP地址,使用Pod名作為榮期間通信的主機(jī)名等。


          六個(gè)CNI常用插件


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

          搜索公眾號(hào)互聯(lián)網(wǎng)架構(gòu)師后臺(tái)回復(fù)“2T”,獲取一份驚喜禮包。
          下面用一張圖表示六個(gè)CNI常用插件:



          七層負(fù)載均衡


          提負(fù)載均衡就不得不先提服務(wù)器之間的通信。
          相關(guān)閱讀:2T架構(gòu)師學(xué)習(xí)資料干貨分享

          IDC(Internet Data Center),也可稱 數(shù)據(jù)中心、機(jī)房,用來放置服務(wù)器。IDC網(wǎng)絡(luò)是服務(wù)器間通信的橋梁。

          上圖里畫了很多網(wǎng)絡(luò)設(shè)備,它們都是干啥用的呢?
          路由器、交換機(jī)、MGW/NAT都是網(wǎng)絡(luò)設(shè)備,按照性能、內(nèi)外網(wǎng)劃分不同的角色。
          先說說各層負(fù)載均衡:
          這里用一張圖來說說四層和七層負(fù)載均衡的區(qū)別:

          上面四層服務(wù)發(fā)現(xiàn)講的主要是k8s原生的kube-proxy方式。K8s關(guān)于服務(wù)的暴露主要是通過NodePort方式,通過綁定minion主機(jī)的某個(gè)端口,然后進(jìn)行pod的請(qǐng)求轉(zhuǎn)發(fā)和負(fù)載均衡,但這種方式有下面的缺陷:
          理想的方式是通過一個(gè)外部的負(fù)載均衡器,綁定固定的端口,比如80,然后根據(jù)域名或者服務(wù)名向后面的Service ip轉(zhuǎn)發(fā),Nginx很好的解決了這個(gè)需求,但問題是如果有的心得服務(wù)加入,如何去修改Nginx的配置,并且加載這些配置?Kubernetes給出的方案就是Ingress。這是一個(gè)基于7層的方案。


          八種隔離維度




          K8s集群調(diào)度這邊需要對(duì)上面從上到下從粗粒度到細(xì)粒度的隔離做相應(yīng)的調(diào)度策略。


          九個(gè)網(wǎng)絡(luò)模型原則


          K8s網(wǎng)絡(luò)模型要符合4個(gè)基礎(chǔ)原則,3個(gè)網(wǎng)絡(luò)要求原則,1個(gè)架構(gòu)原則,1個(gè)IP原則。

          每個(gè)Pod都擁有一個(gè)獨(dú)立的IP地址,而且假定所有Pod都在一個(gè)可以直接連通的、扁平的網(wǎng)絡(luò)空間中,不管是否運(yùn)行在同一Node上都可以通過Pod的IP來訪問。搜索公眾號(hào)互聯(lián)網(wǎng)架構(gòu)師復(fù)“2T”,送你一份驚喜禮包。
          K8s中的Pod的IP是最小粒度IP。同一個(gè)Pod內(nèi)所有的容器共享一個(gè)網(wǎng)絡(luò)堆棧,該模型稱為IP-per-Pod模型。
          IP-per-Pod模型從端口分配、域名解析、服務(wù)發(fā)現(xiàn)、負(fù)載均衡、應(yīng)用配置等角度看,Pod可以看做是一臺(tái)獨(dú)立的VM或物理機(jī)。

          要符合下面的架構(gòu):

          由上圖架構(gòu)引申出來IP概念從集群外部到集群內(nèi)部



          十類IP地址


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

          第一類

          A 類:1.0.0.0-1226.255.255.255,默認(rèn)子網(wǎng)掩碼/8,即255.0.0.0。
          B 類:128.0.0.0-191.255.255.255,默認(rèn)子網(wǎng)掩碼/16,即255.255.0.0。
          C 類:192.0.0.0-223.255.255.255,默認(rèn)子網(wǎng)掩碼/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為全網(wǎng)廣播地址)。E 類地址一般用于研究用途。

          第二類

          0.0.0.0
          嚴(yán)格來說,0.0.0.0 已經(jīng)不是一個(gè)真正意義上的 IP 地址了。它表示的是這樣一個(gè)集合:所有不清楚的主機(jī)和目的網(wǎng)絡(luò)。這里的不清楚是指在本機(jī)的路由表里沒有特定條目指明如何到達(dá)。作為缺省路由。
          127.0.0.1 本機(jī)地址。

          第三類

          224.0.0.1 組播地址。
          如果你的主機(jī)開啟了IRDPinternet路由發(fā)現(xiàn),使用組播功能),那么你的主機(jī)路由表中應(yīng)該有這樣一條路由。

          第四類

          169.254.x.x
          使用了 DHCP 功能自動(dòng)獲取了 IP 的主機(jī),DHCP 服務(wù)器發(fā)生故障,或響應(yīng)時(shí)間太長而超出了一個(gè)系統(tǒng)規(guī)定的時(shí)間,系統(tǒng)會(huì)為你分配這樣一個(gè) IP,代表網(wǎng)絡(luò)不能正常運(yùn)行。

          第五類

          10.xxx、172.16.x.x~172.31.x.x、192.168.x.x 私有地址。
          大量用于企業(yè)內(nèi)部。保留這樣的地址是為了避免亦或是哪個(gè)接入公網(wǎng)時(shí)引起地址混亂。


          1、2T架構(gòu)師學(xué)習(xí)資料干貨分享

          2、985副教授工資曝光

          3、心態(tài)崩了!稅前2萬4,到手1萬4,年終獎(jiǎng)扣稅方式1月1日起施行~

          4、雷軍做程序員時(shí)寫的博客,很強(qiáng)大!

          5、人臉識(shí)別的時(shí)候,一定要穿上衣服??!

          6、清華大學(xué):2021 元宇宙研究報(bào)告!

          7、績效被打3.25B,員工將支付寶告上了法院,判了

          瀏覽 49
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩午夜成人 | 18禁网站在线 | 性爱少妇高手无码 | 暧暧在线国产 | 久久大陆 |