<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • KubernetesResource監(jiān)控怎么實(shí)現(xiàn)

            本篇內(nèi)容介紹了“Kubernetes Resource監(jiān)控怎么實(shí)現(xiàn)”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

            10年積累的成都做網(wǎng)站、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有尋甸免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

            WATCH請(qǐng)求剖析

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

            當(dāng)使用分塊編碼流傳輸?shù)臅r(shí)候,Kubernetes master會(huì)通過(guò)發(fā)送分塊的尺寸開(kāi)始傳輸分塊。但是它不會(huì)發(fā)送一整個(gè)分塊,它只會(huì)發(fā)送一行文本,再被一行新的文本終止。這行文本是JSON編碼對(duì)象,里面還有event以及修改過(guò)的resource項(xiàng)目。所以協(xié)議是基于行的,而分塊編碼只是當(dāng)結(jié)果可得的時(shí)候一個(gè)用來(lái)分流這些結(jié)果的方法。從表面上看用請(qǐng)求來(lái)做這個(gè)似乎不那么難:

            Kubernetes Resource監(jiān)控怎么實(shí)現(xiàn)

            然而iter_lines方法并沒(méi)有按照你想要的方向來(lái)做,它保有一個(gè)外部緩沖,這個(gè)緩沖意味著你永遠(yuǎn)都看不到最后一個(gè)event因?yàn)槟氵€在等著填滿那個(gè)緩沖。

            這個(gè)問(wèn)題的提出意味著通過(guò)實(shí)施你自己的iter_lines()函數(shù)來(lái)使用原套socket,從回應(yīng)socket到讀取socket。很不幸,那個(gè)簡(jiǎn)單的方法犯了一些錯(cuò)誤。首先,它沒(méi)有正確地處理分塊編碼,描述分塊大小的八位元數(shù)會(huì)出現(xiàn)在輸出過(guò)程。但是更加重要的是,另一個(gè)緩沖層次正在繼續(xù),一個(gè)你不能進(jìn)行應(yīng)急操作的緩沖層次。額外的緩沖是因?yàn)檎?qǐng)求使用的是原始套接字的生成文件方法從中讀取數(shù)據(jù)。這對(duì)于Requests來(lái)說(shuō)就講得通了,Python標(biāo)準(zhǔn)庫(kù)和OS都擅長(zhǎng)通過(guò)緩沖加速。然而這并不意味著在Requests解析了響應(yīng)的標(biāo)頭后,緩沖就已經(jīng)不知道使用了響應(yīng)本身多大的字節(jié),而且這些字節(jié)無(wú)法檢索。所以使用Requests來(lái)使用watch API基本上不太可能。

            手動(dòng)進(jìn)行HTTP

            所以如何從Python使用watch API?通過(guò)自己發(fā)出請(qǐng)求和處理響應(yīng)。這個(gè)做起來(lái)其實(shí)很簡(jiǎn)單,socket編程其實(shí)沒(méi)那么嚇人。首先,你需要連接socket到服務(wù)器,然后發(fā)送HTTP request。HTTP非常簡(jiǎn)單,你只需要在socket上發(fā)送一些標(biāo)頭即可:

            Kubernetes Resource監(jiān)控怎么實(shí)現(xiàn)

            注意,Host標(biāo)頭被Kubernetes master要求用來(lái)接受request。

            解析HTTP響應(yīng)稍微有點(diǎn)復(fù)雜。然而http-parser庫(kù)實(shí)施HTTP解析方面的東西的時(shí)候,沒(méi)有涉及到sockets或者任何類(lèi)似于網(wǎng)絡(luò)的東西。所以我們可以輕松地讀取和解析響應(yīng):

            Kubernetes Resource監(jiān)控怎么實(shí)現(xiàn)

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

            Kubernetes Resource監(jiān)控怎么實(shí)現(xiàn)

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

            Kubernetes Resource監(jiān)控怎么實(shí)現(xiàn)

            就是它!如果數(shù)據(jù)接收截至在換行符,然后lines.split() 調(diào)用會(huì)回到一個(gè)空的字符串(b'')作為最后一個(gè)項(xiàng)目。如果數(shù)據(jù)沒(méi)有在一個(gè)新的換行符那里結(jié)束,那么一個(gè)未完成的event會(huì)被接收,這樣當(dāng)我們獲得其它數(shù)據(jù)的時(shí)候我們就需要保存下來(lái)。

            “Kubernetes Resource監(jiān)控怎么實(shí)現(xiàn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

            分享標(biāo)題:KubernetesResource監(jiān)控怎么實(shí)現(xiàn)
            文章鏈接:http://www.jbt999.com/article18/pdpsdp.html

            成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、微信公眾號(hào)、電子商務(wù)網(wǎng)站改版、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、服務(wù)器托管

            廣告

            聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

            網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 人妻夜夜爽天天爽三区麻豆AV网站 | 91乱子伦国产乱子伦www.sz-sd.cn | 三级网站播放 | 亚州无线一区欧美国产日产 | 亚洲1区无码 |