k8s兩種部署架構(gòu)瓶蚂,你們是哪一種糖埋?為什么面試官會(huì)問你你們怎么部署微服務(wù)的呢?

k8s部署的兩種策略-[公粽號:堆棧future]

原文
干貨:


domain+slb+ingress+svc+pod 模式

gateway+registry+pod 模式


通過這篇文章我們可以看出窃这,為啥上篇文章需要講解網(wǎng)關(guān)了瞳别,因?yàn)檫@篇文章需要用到它,網(wǎng)關(guān)很重要哦杭攻。

還有一個(gè)問題就是面試官老是會(huì)問你們的部署架構(gòu)是怎樣的祟敛,其實(shí)這個(gè)問題挺簡單的,只不過各大公司業(yè)務(wù)不同兆解,體量不同還有場景不同選擇的部署架構(gòu)有差別馆铁,但是總體而言基于k8s的部署無非就這兩種,只不過細(xì)節(jié)上略有差別锅睛,今天主要聊聊這兩種最基本的基礎(chǔ)部署架構(gòu)埠巨。

1. 名詞介紹

1. ingress

ingress是公開了集群外部訪問集群內(nèi)部服務(wù)的HTTP(S)路由,流量路由ingress定義的規(guī)則控制衣撬。

也就是說:ingress是創(chuàng)建一組路由規(guī)則乖订,這個(gè)規(guī)則會(huì)經(jīng)過k8s API Server存儲(chǔ)到etcd中,而處理ingress規(guī)則的controller就是ingress controller具练。它實(shí)時(shí)監(jiān)聽ingress資源對象乍构,然后在本地生成反向代理upstream負(fù)載均衡配置,這里大家可以想像下Nginx的upstream配置扛点,忘記的話我貼一張圖就知道了哥遮。

圖片
  1. server name:域名
  2. proxy_pass: 反向代理
  3. upstream:負(fù)載均衡
  4. server:就是后端服務(wù)IP,對應(yīng)在k8s中就是一組pod ip陵究。

2. service 即svc

有ingress必須得有svc眠饮,因?yàn)閕ngress中的upstream必須要有server ip,而這些server ip就是來自svc的endpoints(pod ip集合)铜邮。

3. pod

真正運(yùn)行docker容器的(我們的服務(wù)就跑在這個(gè)上面)仪召,它有自己的ip地址寨蹋,在建立svc之后,當(dāng)我們通過yaml資源創(chuàng)建pod的時(shí)候扔茅,pod根據(jù)label會(huì)走自動(dòng)掛載到svc上已旧,這樣svc就能獲取到后端pod ip列表,即endpoints召娜。

好了运褪,有了這些概念我們就開啟講解兩套部署模式吧。

2. domain+slb+ingress+svc+pod 模式

圖片

從上圖可以看出基于ingress的這套架構(gòu)模式基本上是利用k8s核心對象構(gòu)建起來的玖瘸。

我們這里以nginx為例:

  1. 用戶先創(chuàng)建Pod運(yùn)行自己的服務(wù)秸讹。
  2. 然后創(chuàng)建service關(guān)聯(lián)相關(guān)Pod。
  3. 最后研發(fā)人員提交ingress.yaml創(chuàng)建ingress對象雅倒,關(guān)聯(lián)service璃诀。
  4. ingress controller就會(huì)實(shí)時(shí)watch到ingress的變化然后創(chuàng)建upstream負(fù)載均衡和反向代理。

按照1-4創(chuàng)建完成之后我們接下來做兩件事:

  1. 創(chuàng)建slb負(fù)載均衡器(后面掛載Node)屯断,拿到公網(wǎng)IP地址文虏。
  2. 申請域名解析,將域名解析到slb上(A記錄)殖演。

到這里我們的服務(wù)就算是搭建起來了氧秘,接下來跑通它:

  1. 用戶先訪問baidu.com
  2. dns解析返回slb地址是192.169.1.1
  3. slb選擇一臺(tái)機(jī)器,假如選中Node1
  4. 請求轉(zhuǎn)發(fā)到Node1這個(gè)機(jī)器上
  5. Node1上的ingress controller就會(huì)收到用戶的請求
  6. ingress controller就會(huì)根據(jù)server name(baidu.com)通過proxy_pass代理到upstream這個(gè)負(fù)載均衡上
  7. upstream就會(huì)按照RR或者其它方式去訪問后端的Pod IP
  8. Pod將請求轉(zhuǎn)到服務(wù)進(jìn)程(iptables的portmapping插件實(shí)現(xiàn)的)
  9. 服務(wù)進(jìn)程處理完成之后做出響應(yīng)

那大家可能會(huì)問趴久,既然將請求轉(zhuǎn)發(fā)到一個(gè)Node上了丸相,為啥這個(gè)Node可以輪訓(xùn)或者別的方式訪問別的Node的Pod呢?答案就是CNI彼棍,這個(gè)大家自己下去了解哈灭忠,聽有意思的。

好了座硕,至此我們微服務(wù)部署架構(gòu)就搭建好了弛作,贊。

3. gateway+registry+pod 模式

圖片

從上圖可以看出基于網(wǎng)關(guān)的這套架構(gòu)模式基本上也是利用k8s核心對象構(gòu)建起來的华匾,只不過將原來的ingress用現(xiàn)在的網(wǎng)關(guān)代替了而已映琳。

服務(wù)搭建流程:

  1. 先創(chuàng)建pod,把服務(wù)跑起來
  2. pod將自己的服務(wù)名稱以及IP:Port注冊到注冊中心蜘拉,這里以nacos為例
  3. 注冊中心記錄服務(wù)名稱到Pod IP:Port的映射
  4. 網(wǎng)關(guān)也將自己的地址注冊到服務(wù)注冊中心

用戶訪問流程:

  1. 用戶訪問網(wǎng)關(guān)地址http://baidu.com/order
  2. dns返回網(wǎng)關(guān)ip
  3. 發(fā)起tcp連接(網(wǎng)關(guān)ip+端口)
  4. 網(wǎng)關(guān)收到服務(wù)請求之后根據(jù)path(/order)路由到nacos-order-service
  5. 網(wǎng)關(guān)去服務(wù)注冊中心去找nacos-order-service的映射
  6. 根據(jù)pod IP:Port發(fā)起后端服務(wù)請求
  7. Pod將請求轉(zhuǎn)到服務(wù)進(jìn)程(iptables的portmapping插件實(shí)現(xiàn)的)
  8. 服務(wù)進(jìn)程處理完成之后做出響應(yīng)

到這里基于網(wǎng)關(guān)的這套部署架構(gòu)就講解完了萨西,贊。

4. 小結(jié)

目前據(jù)我了解就是這兩種基于k8s的部署方案旭旭,這兩套部署方案都在被廣泛使用谎脯,所以誰好誰壞不好說,因?yàn)闃I(yè)務(wù)不同或者場景不同可能選擇的部署架構(gòu)方案有差別持寄,但是無論選擇那種部署方案源梭,相關(guān)人員都要有基本的維護(hù)能力娱俺,否則出了問題就兩眼抹黑了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末废麻,一起剝皮案震驚了整個(gè)濱河市矢否,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌脑溢,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赖欣,死亡現(xiàn)場離奇詭異屑彻,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)顶吮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門社牲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人悴了,你說我怎么就攤上這事搏恤。” “怎么了湃交?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵熟空,是天一觀的道長。 經(jīng)常有香客問我搞莺,道長息罗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任才沧,我火速辦了婚禮迈喉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘温圆。我一直安慰自己挨摸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布岁歉。 她就那樣靜靜地躺著得运,像睡著了一般。 火紅的嫁衣襯著肌膚如雪刨裆。 梳的紋絲不亂的頭發(fā)上澈圈,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機(jī)與錄音帆啃,去河邊找鬼瞬女。 笑死,一個(gè)胖子當(dāng)著我的面吹牛努潘,可吹牛的內(nèi)容都是我干的诽偷。 我是一名探鬼主播坤学,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼报慕!你這毒婦竟也來了深浮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤眠冈,失蹤者是張志新(化名)和其女友劉穎飞苇,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蜗顽,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡布卡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了雇盖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片忿等。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖崔挖,靈堂內(nèi)的尸體忽然破棺而出贸街,到底是詐尸還是另有隱情,我是刑警寧澤狸相,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布薛匪,位于F島的核電站,受9級特大地震影響脓鹃,放射性物質(zhì)發(fā)生泄漏蛋辈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一将谊、第九天 我趴在偏房一處隱蔽的房頂上張望冷溶。 院中可真熱鬧,春花似錦尊浓、人聲如沸逞频。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽苗胀。三九已至,卻和暖如春瓦堵,著一層夾襖步出監(jiān)牢的瞬間基协,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工菇用, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留澜驮,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓惋鸥,卻偏偏與公主長得像杂穷,于是被迫代替她去往敵國和親悍缠。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容