成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

“Satellite”:在生產(chǎn)過程中監(jiān)控Kubernetes

mumumu / 2473人閱讀

摘要:冒煙類型測試冒煙測試這個術(shù)語的定義一系列初步的測試來揭示一些簡單的故障的嚴(yán)重性,以此來拒絕預(yù)期中軟件的發(fā)布。冒煙測試最頻繁的特點就是它運(yùn)行的很快,通常是秒級的。

Satellite是硅谷初創(chuàng)公司Gravitational公司旗下一個用Go寫的開源項目,可用來收集Kubernetes集群的健康信息,它既是一個library,也是一個應(yīng)用。作為library,可以用做監(jiān)控方案。在這篇文章里,Satellite項目成員為我們分享了在一些場景下在底層(包括AWS 和裸機(jī)上)部署Kubernetes集群時遇到的問題和他們在開發(fā)過程中用來解決其中一些問題的解決方案。

監(jiān)測Kubernetes組件

監(jiān)測Kubernetes集群不是一個簡單的事情。為了闡述可能會發(fā)生的錯誤的類型,這里是我們在AWS配置上的一個例子。
我們集群中的一個例子完美展示了用SkyDNS運(yùn)行以及所有pods啟動的健康狀態(tài),然而,在幾分鐘之后,SkyDNS就進(jìn)入“CrashLoopBackoff”狀態(tài)了。應(yīng)用程序容器已經(jīng)是啟動的,但是還在功能失調(diào)階段,因為他們在第一次重新啟動的時候無法到達(dá)數(shù)據(jù)庫。
結(jié)果原來是集群宕機(jī),但是我們只能盯著事件和pods狀態(tài),對于發(fā)生了什么無法得到一個清晰的理解。

在聯(lián)系到主節(jié)點,看了SkyDNS pod的日志之后,他們用etcd揭露一個問題。SkyDNS無法連接,或者連接在它建立之后立刻變得不穩(wěn)定了。etcd它本身就是在運(yùn)行的,那么問題是出在哪里呢?
在做了相當(dāng)一部分的調(diào)查之后,我們找到了答案。高延遲網(wǎng)絡(luò)連接磁盤導(dǎo)致讀寫錯誤,這就導(dǎo)致了etcd無法寫到文件系統(tǒng)。雖然它是正確配置而且也在運(yùn)行工作,但是它并不是一直可為Kubernetes服務(wù)所用。
吸取教訓(xùn)——即使你已經(jīng)成功地建立起集群,但也不能保證它就可以像預(yù)期的那樣繼續(xù)工作。
那么在配置期間哪些問題比較容易出錯呢?問題主要有以下這些:

主機(jī)之間沒有聯(lián)系

etcd宕機(jī)或者不穩(wěn)定/錯誤配置導(dǎo)致滯后

主機(jī)間的覆蓋網(wǎng)絡(luò)層損壞

單個節(jié)點中的任意一個都會宕機(jī)

Kubernetes API服務(wù)器或者控制器管理者宕機(jī)

Docker無法啟動容器

網(wǎng)絡(luò)分割會影響節(jié)點子集

我們在跟第一屆KubeCon的參加者交流了一些意見,頭腦風(fēng)暴出以下可能的解決辦法:

你怎樣評估Kubernetes集群的健康?@klizhenas建議創(chuàng)建一個能夠給pods進(jìn)行調(diào)度以及取消調(diào)度的app;有沒有人創(chuàng)建一下這個?

——Brandon Philips(@Brandon Philips)2015年11月11日

我們評估一下來監(jiān)控Kubernetes的方法:
典型監(jiān)測;
面向應(yīng)用的冒煙測試

典型監(jiān)測解決辦法

傳統(tǒng)的監(jiān)控監(jiān)測方法還沒有出現(xiàn)短缺。這個種類之中最好的選擇之一就是monit。
這是一個極其輕便精簡(單個執(zhí)行文件),而且久經(jīng)戰(zhàn)場的后臺程序運(yùn)行在成千上萬臺機(jī)器上面——為小的起步但是是限制到監(jiān)測單個系統(tǒng)。這是它最大的缺點。
使用monit過程中發(fā)現(xiàn)的問題之一就是一組測試執(zhí)行有限和拓展性的缺乏。雖然可配置,但是我們還是不得不通過寫腳本來拓展它的功能,或者通過微弱的界面來使特殊目的程序得到控制。
更加重要的是,我們發(fā)現(xiàn),連接幾個monit實例到一個高可用系統(tǒng)和彈性網(wǎng)絡(luò)是非常難的,而且系統(tǒng)和網(wǎng)絡(luò)還要代理收集自己分享的信息,然后協(xié)同工作來另這些信息保持更新。

冒煙類型測試

“冒煙測試”這個術(shù)語的定義:
“一系列初步的測試來揭示一些簡單的故障的嚴(yán)重性,以此來拒絕預(yù)期中軟件的發(fā)布。它通常包含一個子集的測試,測試覆蓋了大多數(shù)重要的作用來確定重要作用在按照預(yù)期運(yùn)行。冒煙測試最頻繁的特點就是它運(yùn)行的很快,通常是秒級的。”
以我們已有的Kubernetes知識,我們堅信我們可以使用冒煙測試用以下特點來創(chuàng)建一個監(jiān)視系統(tǒng):

輕量級定期測試

高可用性和彈性網(wǎng)絡(luò)分區(qū)

零故障操作環(huán)境

時間序列作為健康數(shù)據(jù)的歷史

不管故障容易發(fā)生的抽象層次,就算是應(yīng)用程序故障,或者是低層次網(wǎng)絡(luò)錯誤,這個系統(tǒng)都能夠追蹤他們以查到實際的原因。

Serf啟動的監(jiān)測Agents

我們的高層次解決方案是一系列程序Agent,一個集群中的一個節(jié)點駐留在另一個節(jié)點上。他們互相之間通過一個Serf提供的gossip協(xié)議來交流:

Kubernetes關(guān)鍵組件的Agents監(jiān)控狀態(tài)——etcd,scheduler,API服務(wù)器和另外一些東西,還有一些執(zhí)行冒煙程序——創(chuàng)建可以互相交流的輕量級容器。

Agent定期同步數(shù)據(jù),這樣每個節(jié)點都是隨時更新關(guān)于集群作為一個整體的信息。由于Serf提供的一致性保證比較弱,導(dǎo)致更新信息也不是很嚴(yán)格。定期測試結(jié)果保存到后端——這可以很簡單,就如同一個SQLite數(shù)據(jù)庫或者InfluxDB等一系列實時數(shù)據(jù)庫。
擁有一個對等系統(tǒng)對偵測故障和監(jiān)測信息十分有幫助,即使系統(tǒng)中的關(guān)鍵部分部分宕機(jī)也沒有關(guān)系。在下面的例子中,主要節(jié)點以及大部分的節(jié)點都已經(jīng)宕機(jī),這就導(dǎo)致etcd也出了故障。然而,我們?nèi)匀豢梢缘玫疥P(guān)于集群連接到以下任意一個節(jié)點的診斷信息:

這里是在部分損壞的系統(tǒng)截圖:

限制

由于它的簡易,目前的模型就有了一定的限制。如果是為更小一些的集群(比如8個節(jié)點)就可以運(yùn)行,然而,在一個再大一點的集群,你就不想每個節(jié)點都可以互相交流了。這個解決方式就是我們計劃采取的方案是創(chuàng)建一個特殊的聚合器,從Skype的超級節(jié)點那里或者是從Consul的“anti-entropy catelogs上面借鑒一些想法。

結(jié)語

監(jiān)測Kubernetes集群的狀態(tài)不是直接使用傳統(tǒng)監(jiān)測工具就可以了的。手動故障排除有一定的復(fù)雜性,在集群里有一個自動反饋循環(huán)的話,就可以消除很大部分的復(fù)雜性。Satellite項目已經(jīng)證明當(dāng)操作集群的時候?qū)ξ覀兪怯杏玫?,所以我們決定對它進(jìn)行開源,希望它可以成為一個幫助提升kubernetes發(fā)現(xiàn)錯誤系統(tǒng)。

(如果需要轉(zhuǎn)載,請聯(lián)系我們哦,尊重知識產(chǎn)權(quán)人人有責(zé))

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/32446.html

相關(guān)文章

  • 融合RocksDB, Pregel, Foxx & Satellite Collection

    摘要:使用社區(qū)檢測教程測試新的結(jié)合,并通過有關(guān)在中使用的新教程進(jìn)一步提高高級技能。衛(wèi)星集合衛(wèi)星集合是這次合作的令人振奮的結(jié)果。然后,會將部分結(jié)果發(fā)送回協(xié)調(diào)器,該協(xié)調(diào)器匯總了最終結(jié)果。 經(jīng)過數(shù)月的研發(fā)測評,開源多模型數(shù)據(jù)庫ArangoDB 終于發(fā)布了其 3.2 正式版,該版本消除了兩個重大的障礙,添加了一個期待已久的功能,還集成了一個有趣的功能。此外,官方團(tuán)隊表示新版本將 ArangoDB 的...

    XanaHopper 評論0 收藏0
  • 融合RocksDB, Pregel, Foxx & Satellite Collection

    摘要:使用社區(qū)檢測教程測試新的結(jié)合,并通過有關(guān)在中使用的新教程進(jìn)一步提高高級技能。衛(wèi)星集合衛(wèi)星集合是這次合作的令人振奮的結(jié)果。然后,會將部分結(jié)果發(fā)送回協(xié)調(diào)器,該協(xié)調(diào)器匯總了最終結(jié)果。 經(jīng)過數(shù)月的研發(fā)測評,開源多模型數(shù)據(jù)庫ArangoDB 終于發(fā)布了其 3.2 正式版,該版本消除了兩個重大的障礙,添加了一個期待已久的功能,還集成了一個有趣的功能。此外,官方團(tuán)隊表示新版本將 ArangoDB 的...

    wyk1184 評論0 收藏0
  • 有關(guān)Kubernetes監(jiān)控的4大常見陷阱,注意避免!

    摘要:挑戰(zhàn)缺乏端到端的可視性傳統(tǒng)監(jiān)控的最常見問題之一,是缺乏對客戶接觸點和分布式應(yīng)用程序的端到端可視性。為了解決這個問題,使用基于正常性能的監(jiān)控解決方案非常重要,并且可以利用機(jī)器學(xué)習(xí)的強(qiáng)大功能,從而在出現(xiàn)問題時智能地向團(tuán)隊發(fā)出警報。 Kubernetes(K8S)現(xiàn)在似乎是管理和部署基于微服務(wù)和容器的應(yīng)用程序的事實標(biāo)準(zhǔn)——其中緣由亦不難理解。Kubernetes是最大的開源社區(qū),它由云原生計...

    gaara 評論0 收藏0
  • 樂心醫(yī)療的 Kubernetes云平臺建設(shè)實踐

    摘要:宋體自年被開源以來,很快便成為了容器編排領(lǐng)域的標(biāo)準(zhǔn)。宋體年月,樂心醫(yī)療的第一個生產(chǎn)用集群正式上線。所以于年推出后,樂心醫(yī)療的運(yùn)維團(tuán)隊在開會討論之后一致決定盡快遷移到。Kubernetes 自 2014 年被 Google 開源以來,很快便成為了容器編排領(lǐng)域的標(biāo)準(zhǔn)。因其支持自動化部署、大規(guī)模可伸縮和容器化管理等天然優(yōu)勢,已經(jīng)被廣泛接納。但由于 Kubernetes 本身的復(fù)雜性,也讓很多企業(yè)的...

    testHs 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<