容器宿主機(jī)到底怎么選蛙酪,你只需要知道這5點(diǎn)

前言

容器宿主機(jī)的選擇需要考慮如下幾個(gè)問題

  1. 用物理機(jī)還是虛擬機(jī)?
  2. 用多大規(guī)格的服務(wù)器翘盖?
  3. CPU和內(nèi)存配比多少合理桂塞?
  4. 一個(gè)集群,需要放多少節(jié)點(diǎn)馍驯?
  5. 主機(jī)越大越好阁危,還是越小越好?

這些問題汰瘫,每一個(gè)單獨(dú)拿出來狂打,都不是很好回答,并且每個(gè)企業(yè)實(shí)際情況不盡相同混弥,我將結(jié)合我們?cè)谏a(chǎn)環(huán)境的實(shí)際使用經(jīng)驗(yàn)趴乡,來談一談如何選擇容器的宿主機(jī),你從本文中可以獲得一些啟發(fā)蝗拿,來規(guī)劃符合自己的容器集群晾捏。

1. 采用物理機(jī)還是虛擬機(jī);

采用物理機(jī)的好處

  1. 資源利用率高

采用虛擬機(jī)的好處

  1. 重啟速度快哀托。
  2. 規(guī)格可以自由確定.并且方便修改惦辛。
  3. 方便重建

采用虛擬機(jī),可以獲得虛擬機(jī)帶來的諸多好處仓手,采用物理機(jī)唯一的優(yōu)勢(shì)是資源利用率高胖齐。考慮到資源利用率并不是問題嗽冒, 最終采用虛擬機(jī)呀伙。

為什么資源利用率不是問題?

http://openskill.cn/article/88 這里的測(cè)試數(shù)據(jù)可以看出辛慰, KVM 虛擬化

  1. 虛擬機(jī)相對(duì)物理機(jī)的 CPU 性能損失在 1% 以內(nèi)
  2. 內(nèi)存幾乎無損耗.
  3. virtio 網(wǎng)絡(luò)幾乎無損耗.
  4. 磁盤 損耗受影響因素較多区匠,推薦使用 ext4, qcow2, writeback 緩存, virtio 驅(qū)動(dòng)帅腌。磁盤 從其他渠道獲取的信息來看驰弄。 大致有 12% 的損耗。

實(shí)際生產(chǎn)需要落地的數(shù)據(jù)速客,放在共享存儲(chǔ)上 (cephfs, moosefs) 戚篙, 其iops 由存儲(chǔ)系統(tǒng)提供,本地磁盤只用來存儲(chǔ)鏡像及容器運(yùn)行的臨時(shí)數(shù)據(jù)溺职。 對(duì)磁盤的性能要求岔擂,無需特別苛刻位喂。

為什么考慮重啟速度?

在實(shí)際的運(yùn)維過程中乱灵,我們發(fā)現(xiàn)部分場(chǎng)景下塑崖,會(huì)出現(xiàn)主機(jī)卡死,或者docker進(jìn)程卡死痛倚, 這時(shí)规婆,最快恢復(fù)業(yè)務(wù)的方法是重啟主機(jī)。 容器在主機(jī)重啟后蝉稳,可以自動(dòng)恢復(fù)抒蚜,因此可以做到在1到2分鐘內(nèi)快速恢復(fù)業(yè)務(wù)。這一點(diǎn)太重要了耘戚,物理機(jī)重啟由于需要做各種硬件檢測(cè)嗡髓,重啟時(shí)間一般在5到10分鐘, 虛擬機(jī)重啟一般在1分鐘以內(nèi) 收津, 物理機(jī)顯然無法滿足需求饿这。

為什么重建能力很重要?

容器平臺(tái)經(jīng)常需要更新操作系統(tǒng)撞秋,或者根據(jù)需要調(diào)整主機(jī)規(guī)格

  1. 運(yùn)行一段時(shí)間后蛹稍,發(fā)現(xiàn)內(nèi)存配置偏少了, 需要添加內(nèi)存部服。這時(shí)候申請(qǐng)一臺(tái)新的機(jī)器加入到集群中,將舊機(jī)器下線即可拗慨。
  2. 運(yùn)行多年的 ubuntu 12.04 官方已經(jīng)不再維護(hù)廓八, 需要全量替換,工作量相當(dāng)大赵抢。好的方法就是使用全新的服務(wù)器替換舊服務(wù)器剧蹂。
  3. 當(dāng)發(fā)生故障,主機(jī)無法恢復(fù)時(shí)烦却, 直接申請(qǐng)新服務(wù)器加入集群即可宠叼。

2. 容器主機(jī)的規(guī)格是如何確定的?

我們起初上線了 8 核 32G規(guī)格的虛擬機(jī)其爵。 運(yùn)維過程中發(fā)現(xiàn)了如下的問題

  1. 部分應(yīng)用啟動(dòng)時(shí)就需要16G 內(nèi)存冒冬。 32G 的虛擬機(jī)顯得捉襟見肘,一臺(tái)主機(jī)只能運(yùn)行一個(gè)此類應(yīng)用摩渺。 出故障時(shí)简烤,集群中可能沒有滿足條件的主機(jī)可供遷移。
  2. 系統(tǒng)彈性較弱摇幻。 以80% 為警戒線横侦,每臺(tái)主機(jī)的彈性內(nèi)存空間為 6.4G . 很多應(yīng)用在突發(fā)請(qǐng)求時(shí)挥萌,會(huì)占用遠(yuǎn)超 6.4G的內(nèi)存,導(dǎo)致主機(jī)內(nèi)存耗盡枉侧。
  3. 內(nèi)存是獨(dú)占性資源引瀑,即使程序沒有任何請(qǐng)求, 內(nèi)存也會(huì)被獨(dú)占榨馁。其結(jié)果是一臺(tái)主機(jī)上的內(nèi)存占用特別高憨栽。 CPU 資源占用比率則相對(duì)較少。

從以上角度來看辆影, 容器主機(jī)的規(guī)格越大越好

后來徒像,我們將主機(jī)規(guī)格調(diào)整為 32核 128G (為什么不用物理機(jī)請(qǐng)參考,為什么考慮重啟速度?蛙讥,為什么資源利用率不是問題锯蛀? )。 運(yùn)維過程中發(fā)現(xiàn)了如下問題

  1. 主機(jī)故障時(shí)次慢,影響范圍很大旁涤。當(dāng)內(nèi)存使用率為 60% 的時(shí)候, 我們運(yùn)行了 72個(gè)容器迫像, 涉及到 40個(gè)業(yè)務(wù)劈愚。 當(dāng)主機(jī)故障時(shí),會(huì)同時(shí)影響40個(gè)業(yè)務(wù)闻妓。
  2. 太多的進(jìn)程數(shù)菌羽。 監(jiān)控中發(fā)現(xiàn)有 too many process 的報(bào)警, 這在之前32G虛擬機(jī)時(shí)由缆,不太會(huì)出現(xiàn)注祖。
  3. 文件描述符數(shù)量,tcp 最大連接數(shù)量等等, 都有可能被用滿均唉。

從以上角度來看是晨, 容器主機(jī)的規(guī)格越小越好。 物理機(jī)的容量更加大(內(nèi)存可以配置到 512G 甚至更高)舔箭, 故障時(shí)罩缴,影響范圍更加巨大。

3. CPU與內(nèi)存的配比是如何確定的层扶?

8核32G 的配比為 1:4 箫章,從以往的運(yùn)行監(jiān)控?cái)?shù)據(jù)來看。當(dāng)內(nèi)存使用到 90%左右時(shí)怒医, CPU使用率 40%炉抒。

  1. 為了有效利用資源,以 1:8 配比稚叹。 比如 16核128G
  2. 為了穩(wěn)定性和資源彈性焰薄,仍然以 1:4 配比 拿诸。 比如 16核64G

目前在資源利用率上,docker已經(jīng)做得很好塞茅, 主要考慮穩(wěn)定性和彈性亩码。 采用 1:4 的配比。

4. 一個(gè)環(huán)境中配置幾臺(tái)主機(jī)野瘦?

假設(shè)一個(gè)環(huán)境中有2臺(tái)主機(jī)描沟, 當(dāng)其中一臺(tái)主機(jī)故障時(shí),為了能將業(yè)務(wù)遷移到另外一臺(tái)主機(jī)鞭光, 這兩臺(tái)主機(jī)的利用率最高可以到 50% 吏廉。

為了給集群提供彈性, 當(dāng)有主機(jī)故障時(shí)惰许, 其他主機(jī)要有能力承載這臺(tái)主機(jī)上的業(yè)務(wù)席覆。 我們可以算出相關(guān)關(guān)系, N為集群主機(jī)數(shù)量汹买, M為能夠承受損壞的主機(jī)數(shù)量
(N - 1 )* (1 - usage% ) = M * usage%
N = (M*usage%) / (1- usage%) + 1

我們看一下佩伤,為了能夠承受一臺(tái)主機(jī)完全損壞, N= usage%/ ( 1- usage%) + 1 , usage% = N-1 /N
集群利用率和集群主機(jī)數(shù)量關(guān)系為

  • 2 臺(tái)主機(jī) 50%
  • 3 臺(tái)主機(jī) 66.6%
  • 4 臺(tái)主機(jī) 75%
  • 5 臺(tái)主機(jī) 80%
  • 6 臺(tái)主機(jī) 83%

我們挑選一個(gè)合理且方便計(jì)算的利用率 80% , 那么集群中最少需要5臺(tái)主機(jī)晦毙。

結(jié)合主機(jī)的規(guī)格生巡,我們可以算出一個(gè)集群的最小容量。

  • 16核 64G, 集群容量最小為 80核320G
  • 32核128G见妒,集群容量最小為 160核640G

按照一個(gè)業(yè)務(wù)占用 2G (QA環(huán)境經(jīng)驗(yàn)值)內(nèi)存來算 , 集群可承載的業(yè)務(wù)數(shù)量為

  • 16核 64G, 承載 128個(gè)
  • 32核128G孤荣,承載 384個(gè)

5. 一臺(tái)主機(jī)是既是一個(gè)共享域, 又是一個(gè)沖突域须揣。

  1. 共享域主機(jī)的資源越多越好垃环。 這樣可以提供更好的資源彈性。 從而提高系統(tǒng)穩(wěn)定性返敬。
  2. 沖突域主機(jī)的資源越少越好,故障時(shí)寥院,影響范圍可控劲赠。

過大或過小的規(guī)格,都會(huì)導(dǎo)致問題秸谢。 目前合理的規(guī)格為 16核64G凛澎, 或者 32核128G , 一個(gè)集群主機(jī)數(shù)量不少于5臺(tái).

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末估蹄,一起剝皮案震驚了整個(gè)濱河市塑煎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌臭蚁,老刑警劉巖最铁,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讯赏,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡冷尉,警方通過查閱死者的電腦和手機(jī)漱挎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雀哨,“玉大人磕谅,你說我怎么就攤上這事∥砉祝” “怎么了膊夹?”我有些...
    開封第一講書人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長捌浩。 經(jīng)常有香客問我放刨,道長,這世上最難降的妖魔是什么嘉栓? 我笑而不...
    開封第一講書人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任宏榕,我火速辦了婚禮,結(jié)果婚禮上侵佃,老公的妹妹穿的比我還像新娘麻昼。我一直安慰自己,他們只是感情好馋辈,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開白布抚芦。 她就那樣靜靜地躺著,像睡著了一般迈螟。 火紅的嫁衣襯著肌膚如雪叉抡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,215評(píng)論 1 299
  • 那天答毫,我揣著相機(jī)與錄音褥民,去河邊找鬼。 笑死洗搂,一個(gè)胖子當(dāng)著我的面吹牛消返,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播耘拇,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼撵颊,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了惫叛?” 一聲冷哼從身側(cè)響起倡勇,我...
    開封第一講書人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嘉涌,沒想到半個(gè)月后妻熊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體夸浅,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年固耘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了题篷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡厅目,死狀恐怖番枚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情损敷,我是刑警寧澤葫笼,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站拗馒,受9級(jí)特大地震影響路星,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜诱桂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一洋丐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧挥等,春花似錦友绝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至辞槐,卻和暖如春掷漱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背榄檬。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來泰國打工卜范, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鹿榜。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓先朦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親犬缨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

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

  • ## 標(biāo)題: 容器宿主機(jī)到底怎么選棉浸,你只需要知道這5點(diǎn). ##前言容器宿主機(jī)的選擇需要考慮如下幾個(gè)問題1. 用物理...
    DanielsCai閱讀 265評(píng)論 0 0
  • 寫這篇文章主要是為了今后畢業(yè)論文素材上的整理怀薛,同時(shí)對(duì)docker進(jìn)行鞏固溫習(xí)。大綱: docker簡介docker...
    胡圖仙人閱讀 7,423評(píng)論 2 96
  • 導(dǎo)讀:容器對(duì)于物理機(jī)和虛擬機(jī)创倔,單從監(jiān)控上看就不是一個(gè)數(shù)量級(jí)的,但監(jiān)控又是至關(guān)重要的焚碌,沒有監(jiān)控如同閉眼開車畦攘。 本次分...
    優(yōu)云數(shù)智閱讀 2,098評(píng)論 0 4
  • Stories.vc聯(lián)合創(chuàng)始人,項(xiàng)目投資孵化 & 孵化器戰(zhàn)略咨詢 前投資孵化(InnoSpace)十电、工程師(中興通...
    梅晨斐閱讀 366評(píng)論 0 1
  • 1. 引言 最近寫python用unittest模塊做單元測(cè)試知押,才發(fā)現(xiàn)自己過去寫C++居然都是手工測(cè)試。查了一番資...
    kophy閱讀 4,427評(píng)論 1 3