免费体验120秒视频_榴莲榴莲榴莲榴莲官网_2021国产麻豆剧果冻传媒入口_一二三四视频社区在线
東坡下載:內容最豐富最安全的下載站!

首頁IT技術常見問題 → Kubernetes Resource 監(jiān)控怎么做 Kubernetes Resource 監(jiān)控實現(xiàn)原理

Kubernetes Resource 監(jiān)控怎么做 Kubernetes Resource 監(jiān)控實現(xiàn)原理

相關文章發(fā)表評論 來源:本站整理時間:2017/10/16 17:54:27字體大小:A-A+

更多

作者:專題點擊:24次評論:0次標簽: KubernetesResource

Kubernetes有一個之前系統(tǒng)用來做很多工作的REST-ish HTTP API。這個API是開放的,而且文檔十分齊全,很容易整合,可以從代碼方面管理集群。然而這個API還有一個不直接映射到HTTP的概念:WATCH。resource有任何的修改,它就會通知API用戶。

WATCH請求剖析

從Python使用Kubernetes API,如果使用Request庫的話,就十分輕松。API運行得十分好,總是使用并且返回JSON消息。但是發(fā)行watch請求就變得復雜多了。發(fā)一個watch請求理論上有兩種方法:一個是用流傳輸結果的普通HTTP請求,同時使用分塊編碼;另一種方法是使用websockets。不幸的是,當測試Kubernetes1.1 master的時候,并沒有正確地使用websocket協(xié)議,所以使用流傳輸結果才是正確的方法。

當使用分塊編碼流傳輸的時候,Kubernetes master會通過發(fā)送分塊的尺寸開始傳輸分塊。但是它不會發(fā)送一整個分塊,它只會發(fā)送一行文本,再被一行新的文本終止。這行文本是JSON編碼對象,里面還有event以及修改過的resource項目。所以協(xié)議是基于行的,而分塊編碼只是當結果可得的時候一個用來分流這些結果的方法。從表面上看用請求來做這個似乎不那么難:

然而iter_lines方法并沒有按照你想要的方向來做,它保有一個外部緩沖,這個緩沖意味著你永遠都看不到最后一個event因為你還在等著填滿那個緩沖。
這個問題的提出意味著通過實施你自己的iter_lines()函數來使用原套socket,從回應socket到讀取socket。很不幸,那個簡單的方法犯了一些錯誤。首先,它沒有正確地處理分塊編碼,描述分塊大小的八位元數會出現(xiàn)在輸出過程。但是更加重要的是,另一個緩沖層次正在繼續(xù),一個你不能進行應急操作的緩沖層次。額外的緩沖是因為請求使用的是原始套接字的生成文件方法從中讀取數據。這對于Requests來說就講得通了,Python標準庫和OS都擅長通過緩沖加速。然而這并不意味著在Requests解析了響應的標頭后,緩沖就已經不知道使用了響應本身多大的字節(jié),而且這些字節(jié)無法檢索。所以使用Requests來使用watch API基本上不太可能。

手動進行HTTP

所以如何從Python使用watch API?通過自己發(fā)出請求和處理響應。這個做起來其實很簡單,socket編程其實沒那么嚇人。首先,你需要連接socket到服務器,然后發(fā)送HTTP request。HTTP非常簡單,你只需要在socket上發(fā)送一些標頭即可:

注意,Host標頭被Kubernetes master要求用來接受request。
解析HTTP響應稍微有點復雜。然而http-parser庫實施HTTP解析方面的東西的時候,沒有涉及到sockets或者任何類似于網絡的東西。所以我們可以輕松地讀取和解析響應:

現(xiàn)在我們來響應已經被解析的標頭。很可能,一些本體數據已經接收到了,這很棒,這些本體數據在解析器中仍處于緩沖好的的狀態(tài),直到我們檢索它。但是首先讓我們來保持讀取數據,直到沒有剩下的為止(不要在生產過程中這么做,對你的存儲系統(tǒng)不好)。

上圖展示了如何使用select在數據可得的時候只讀數據,而不是先阻斷,然后使數據再次可讀。當然,一旦使用了所有的數據,Kubernetes master 可能就會發(fā)送下一版本更新到PodList,但是讓我們現(xiàn)在先來讀一下接收到的events:

就是它!如果數據接收截至在換行符,然后lines.split() 調用會回到一個空的字符串(b”)作為最后一個項目。如果數據沒有在一個新的換行符那里結束,那么一個未完成的event會被接收,這樣當我們獲得其它數據的時候我們就需要保存下來。

擴展知識

相關評論

閱讀本文后您有什么感想? 已有 人給出評價!

  • 2791 喜歡喜歡
  • 2101 頂
  • 800 難過難過
  • 1219 囧
  • 4049 圍觀圍觀
  • 5602 無聊無聊
熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數: 0/500 (您的評論需要經過審核才能顯示)
免费体验120秒视频_榴莲榴莲榴莲榴莲官网_2021国产麻豆剧果冻传媒入口_一二三四视频社区在线
主站蜘蛛池模板: 91精品国产入口| 91中文字幕yellow字幕网| 草莓视频国产在线观看| 日本一区免费观看| 国产视频福利在线| 国产精品亚洲五月天高清 | 久久精品国产亚洲av日韩| 国产真实伦实例| 亚洲AV一二三区成人影片| 国内少妇偷人精品视频免费| 免费看小12萝裸体视频国产| 人妻aⅴ无码一区二区三区 | 精品一区二区三区视频| 欧美一级久久久久久久大| 久久这里只有精品66re99| 免费看操| 美女天天射| 色综合久久综合网欧美综合网| 日欧毛片| 一级一黄在线观看视频免费| 久9re热这里精品首页| 国产精品免费看久久久| 玖玖在线免费视频| 天天操天天射天天舔| 秋霞网一区| 中文国产日韩欧美视频| 国产精品99久久久| 亚洲国产欧美在线观看| 最近中文字幕高清免费大全8| 在线观看jizz| 欧美人与动人物牲交免费观看| 精品人妻无码区二区三区| 久久久精品中文字幕麻豆发布| 学霸c了我一节课| 国产中文字幕在线观看视频| 好想找个男人狠狠的曰| 久久lu| 精品三区| 久久久久国产精品免费免费搜索| 成年午夜无码av片在线观看| 人人妻人人澡人人爽人人精品|