偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

[[436040]]

【51CTO.com快譯】Pod

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

多容器設(shè)計(jì)考慮

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

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

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

因此,最好將它們分開部署,因?yàn)橄駟为?dú)的一個(gè)Pod一樣管理和擴(kuò)展它們會(huì)更好。

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

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

情況2–如果兩個(gè)容器高度耦合。

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

多容器設(shè)計(jì)模式

1.適配器模式

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

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

2.大使模式

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

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

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

3.邊車模式

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

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

結(jié)論

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

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

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

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

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

責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2019-11-20 09:15:53

KubernetesPod

2022-06-01 09:38:36

KubernetesPod容器

2020-07-06 07:52:10

Kubernetes網(wǎng)絡(luò)通信

2024-01-02 09:19:15

kubernetes集群HTTP

2023-02-09 16:47:34

KubernetesPod優(yōu)先級(jí)

2020-04-10 08:00:08

Kubernetes補(bǔ)丁pod

2021-09-14 13:25:23

容器pod僵尸進(jìn)程

2024-03-07 12:08:02

Podkubernetes容器

2023-10-19 19:42:25

IstioPodkubernetes

2022-06-21 14:46:52

KubernetesPODMultus

2022-09-22 12:11:38

PodKubernetes

2017-06-13 16:40:42

Azure容器Kubernetes

2012-08-30 09:07:33

設(shè)計(jì)模式

2024-06-19 09:33:05

2021-06-28 10:20:31

網(wǎng)絡(luò)技術(shù)Kubernetes通信

2010-06-11 14:55:20

2021-04-18 21:07:32

門面模式設(shè)計(jì)

2024-07-31 08:12:33

2023-09-18 08:00:00

Kubernetes容器集群

2022-06-27 05:48:24

Kubernetes容器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)