日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Kubernetes中的多容器Pod設(shè)計模式

Kubernetes中的多容器 Pod 設(shè)計模式

譯文
作者:李睿 2021-11-22 08:00:00

云計算 在Kubernetes中,Pod是一個可部署單元。如果要部署應(yīng)用程序,它必須將Pod作為容器部署在Pod中。盡管應(yīng)用程序可以在容器中運行,但容器必須是Pod的一部分。Pod規(guī)范具有聲明容器規(guī)范的屬性容器。這個屬性是復(fù)數(shù)的。這意味著可以在Pod規(guī)范中聲明多個容器。

創(chuàng)新互聯(lián)建站-成都網(wǎng)站建設(shè)公司,專注網(wǎng)站設(shè)計、做網(wǎng)站、網(wǎng)站營銷推廣,域名與空間,虛擬空間,網(wǎng)站托管有關(guān)企業(yè)網(wǎng)站制作方案、改版、費用等問題,請聯(lián)系創(chuàng)新互聯(lián)建站。

[[436040]]

【51CTO.com快譯】Pod

在Kubernetes中,Pod是一個可部署單元。如果要部署應(yīng)用程序,它必須將Pod作為容器部署在Pod中。盡管應(yīng)用程序可以在容器中運行,但容器必須是Pod的一部分。Pod規(guī)范具有聲明容器規(guī)范的屬性容器。這個屬性是復(fù)數(shù)的。這意味著可以在Pod規(guī)范中聲明多個容器。

多容器設(shè)計考慮

但是Kubernetes管理員總是選擇單一容器Pod而不是多容器Pod。每個Pod采用一個容器是行業(yè)中的一人不成文做法。以下了解多容器Pod可以提供什么優(yōu)勢。

Pod有一個IP,而一個Pod中的所有容器可以共享相同的IP。如果為Pod創(chuàng)建了任何卷,則作為Pod一部分的所有容器都可以安裝該卷。因此,容器可以共享存儲空間,它們還可以通過本地主機相互通信。

在這種情況下,為什么仍然首選單一容器Pod。以具有用戶界面(UI)、后端、數(shù)據(jù)庫和消息傳遞層的Web應(yīng)用程序為例。將所有四個層部署為單個Pod中的四個容器。所有四個容器的資源、配置、操作要求都不同。后端和前端是面向客戶的。如果需要將這些擴展到不同的層次,則不能單獨完成,由于不能擴展容器,只能擴展Pod。因此,如果擴展Pod,也會創(chuàng)建數(shù)據(jù)庫和消息層的多個實例,盡管這不是必需的。

因此,最好將它們分開部署,因為像單獨的一個Pod一樣管理和擴展它們會更好。

在什么情況下,可以在同一個Pod中使用多個容器?

情況1–如果容器的生命周期相同。

情況2–如果兩個容器高度耦合。

情況3–如果需要使應(yīng)用程序無需任何代碼更改即可部署到Kubernetes。在這種情況下,應(yīng)用程序代碼缺乏利用Kubernetes功能的東西。在這種情況下,可以在應(yīng)用程序容器中引入一個輔助容器,這將打破這種障礙。

多容器設(shè)計模式

1.適配器模式

如今的家庭通常采用的是交流電,而人們使用的筆記本電腦使用的是直流電。在這種情況下,使用交流適配器從插座獲取電源,然后將其轉(zhuǎn)換為直流電并為筆記本電腦供電。在不改變供電模式的情況下,可以借助適配器為筆記本電腦充電。

那么如何將這種模式與Kubernetes有什么聯(lián)系?例如,如果在Kubernetes集群中安裝了一個集中監(jiān)控工具,它需要將所有應(yīng)用日志以“應(yīng)用程序(APP)-名稱(NAME)-主機名稱(HOSTNAME)-日期(DATE)-嚴重程度(SEVERITY)”格式打印。但是集群可以有許多應(yīng)用程序以多種語言編寫,并以多種格式打印日志。在這種情況下,所有應(yīng)用程序都更改其日志記錄格式是不明智的,就好像該工具將來會更改并且格式可能再次更改一樣。為了解決這個問題,可以生成第二個容器來讀取主要應(yīng)用程序容器的日志,并將其處理成監(jiān)控工具所需的格式。這樣可以解決不匹配的問題。

2.大使模式

大使是各國派駐他國的特使。這種模式如何在Kubernetes Pod提供幫助?

例如,如果有一個遺留應(yīng)用程序,其中DB URL在應(yīng)用程序內(nèi)被硬編碼為localhost。更改遺留應(yīng)用程序很困難,因為它會在許多其他地方帶來更改。如果必須使其可在Kubernetes集群中部署,則需要更改代碼??梢允褂么笫鼓J皆诓桓拇a的情況下做到這一點。大使容器將應(yīng)用程序容器共置在同一個Pod中。它是一個代理,根據(jù)開發(fā)、質(zhì)量保證(QA)或Stage環(huán)境連接到正確的數(shù)據(jù)庫。

主應(yīng)用程序可以通過大使容器連接到諸如localhost之類的外部URL。大使模式找到正確的URL,并將其提供給位于localhost的應(yīng)用程序容器。主應(yīng)用程序容器不需要擔心正確的URL。這將被分配給大使容器。

3.邊車模式

邊車(Sidecar)的原理與挎斗摩托車類似,挎斗摩托車只是增加了一個座位,而沒有對其主要部署進行任何更改,雖然這個座位不是摩托車的組成部分,但增強了性能。Sidecar容器也采用同樣的工作方式。邊車增強了與它一起部署的主容器的能力,而無需對主容器進行任何更改。例如,應(yīng)用程序在某個文件夾中生成日志文件。

如果在Kubernetes集群中采用應(yīng)用程序監(jiān)控工具,需要將所有部署到集群的應(yīng)用程序的日志存儲在某個外部存儲空間中,那么在應(yīng)用程序級別根本無法完成。相反,可以使用一個邊車容器,它可以輕松地將日志文件存儲在所需的存儲空間中,而無需在主應(yīng)用程序級別進行任何代碼更改。

結(jié)論

所有這些模式對于在不更改主要應(yīng)用程序的情況下執(zhí)行橫切作業(yè)非常有用。它們?yōu)橹魅萜魈峁┲С?,并且必須作為輔助容器進行部署。這些工作負載必須以可以在不同Pod中重用的方式編寫。

為了解釋這種方法,使用適配器模式,必須將主容器的輸出轉(zhuǎn)換或處理為某種標準格式;大使模式用于提供網(wǎng)絡(luò)代理;邊車模式用于向主容器提供幫助程序/實用程序服務(wù)。

而人們嘗試使用這些模式可以充分利用Kubernetes集群。

原文連接:Multi-Container Pod Design Patterns in Kubernetes,作者:Aditya Bhuyan

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】


網(wǎng)站標題:Kubernetes中的多容器Pod設(shè)計模式
文章起源:http://m.5511xx.com/article/coeihge.html