Kubernetes一直是當(dāng)今市場的流行語孽糖,并且是最好的編排工具钙蒙。?下面將K8s面試問題分為以下3個(gè)部分:
01. Kubernetes基本面試問題
02. 基于架構(gòu)的面試題
03. 基于場景的面試題
01.Kubernetes基本面試問題
這部分包含與Kubernetes的工作相關(guān)的所有基本問題。
Q1腕铸。Kubernetes與Docker Swarm有何不同惜犀?
Q2。什么是Kubernetes狠裹?
Kubernetes是一個(gè)開源容器管理工具虽界,它負(fù)責(zé)容器部署,容器的縮放和除垢以及負(fù)載平衡的職責(zé)涛菠。作為Google的創(chuàng)意莉御,它提供了出色的社區(qū),并且與所有云提供商都精采合作俗冻。因此礁叔,我們可以說Kubernetes不是?一個(gè)容器化平臺,而是一個(gè)多容器管理解決方案迄薄。
Q3琅关。Kubernetes與Docker有何關(guān)系?
眾所周知讥蔽,Docker提供了容器的生命周期管理涣易,而Docker映像構(gòu)建了運(yùn)行時(shí)容器。但是冶伞,由于這些容器必須進(jìn)行通信都毒,因此使用了Kubernetes。因此碰缔,Docker構(gòu)建了容器账劲,這些容器通過Kubernetes相互通信。因此金抡,可以使用Kubernetes手動鏈接和協(xié)調(diào)在多個(gè)主機(jī)上運(yùn)行的容器瀑焦。
Q4。在主機(jī)和容器上部署應(yīng)用程序有什么區(qū)別梗肝?
請參考上圖榛瓮。左側(cè)的體系結(jié)構(gòu)表示在主機(jī)上部署應(yīng)用程序。因此巫击,這種體系結(jié)構(gòu)將具有一個(gè)操作系統(tǒng)禀晓,然后該操作系統(tǒng)將具有一個(gè)內(nèi)核精续,該內(nèi)核將在應(yīng)用程序所需的操作系統(tǒng)上安裝各種庫。因此粹懒,在這種框架中重付,您可以有n個(gè)應(yīng)用程序,并且所有應(yīng)用程序都將共享該操作系統(tǒng)中存在的庫凫乖,而在容器中部署應(yīng)用程序時(shí)确垫,體系結(jié)構(gòu)則有所不同。
這種架構(gòu)將具有內(nèi)核帽芽,這是唯一的東西删掀,它將成為所有應(yīng)用程序之間唯一的共同點(diǎn)。因此导街,如果有一個(gè)需要Java的特定應(yīng)用程序披泪,那么我們將可以訪問該特定應(yīng)用程序;如果有另一個(gè)需要Python的應(yīng)用程序搬瑰,則只有該特定應(yīng)用程序可以訪問Python款票。
您可以在圖的右側(cè)看到的各個(gè)塊基本上都是容器化的,并且與其他應(yīng)用程序隔離跌捆。因此徽职,應(yīng)用程序具有與系統(tǒng)其余部分隔離的必要庫和二進(jìn)制文件象颖,并且不會被任何其他應(yīng)用程序所侵害佩厚。
Q5。什么是容器編排说订?
考慮一個(gè)應(yīng)用程序有5-6個(gè)微服務(wù)的情況〕撸現(xiàn)在,這些微服務(wù)放置在單獨(dú)的容器中陶冷,但是如果沒有容器編排钙姊,將無法進(jìn)行通信。因此埂伦,由于編排意味著將所有樂器在音樂中和諧地融合在一起煞额,因此類似的容器編排意味著單個(gè)容器中的所有服務(wù)可以一起工作以滿足單個(gè)服務(wù)器的需求。
Q6沾谜。容器編排有什么需要膊毁?
假設(shè)您有5-6個(gè)微服務(wù)用于執(zhí)行各種任務(wù)的單個(gè)應(yīng)用程序,并且所有這些微服務(wù)都放在容器中』埽現(xiàn)在婚温,要確保這些容器彼此通信,我們需要進(jìn)行容器編排媳否。
如上圖所示栅螟,不使用容器編排也存在許多挑戰(zhàn)荆秦。因此,為了克服這些挑戰(zhàn)力图,進(jìn)行了容器編排步绸。
Q7。Kubernetes有什么特點(diǎn)搪哪?
Kubernetes的功能如下:
Q8靡努。Kubernetes如何簡化容器化部署?
由于典型的應(yīng)用程序具有跨多個(gè)主機(jī)運(yùn)行的容器集群晓折,因此所有這些容器都需要相互通信惑朦。因此,要做到這一點(diǎn)漓概,您需要一些可以平衡負(fù)載漾月,縮放和監(jiān)視容器的東西。由于Kubernetes與云無關(guān)胃珍,并且可以在任何公共/私有提供商上運(yùn)行梁肿,因此必須選擇簡化容器化部署。
Q9觅彰。您對Kubernetes中的集群了解多少吩蔑?
Kubernetes的基本原理是,我們可以強(qiáng)制執(zhí)行所需的狀態(tài)管理填抬,這意味著我們可以提供特定配置的集群服務(wù)烛芬,而由集群服務(wù)決定是否在基礎(chǔ)架構(gòu)中運(yùn)行該配置。
因此飒责,如您在上圖中所看到的赘娄,部署文件將具有需要饋送到集群服務(wù)中的所有配置。現(xiàn)在宏蛉,部署文件將被饋送到API遣臼,然后由集群服務(wù)來決定如何在環(huán)境中調(diào)度這些Pod,并確保運(yùn)行正確數(shù)量的Pod拾并。
因此揍堰,位于服務(wù),工作節(jié)點(diǎn)和節(jié)點(diǎn)運(yùn)行的Kubelet流程前面的API共同構(gòu)成了Kubernetes集群嗅义。
Q10屏歹。什么是Google Container Engine?
Google Container Engine(GKE)是一個(gè)用于Docker容器和集群的開源管理平臺芥喇。這種基于Kubernetes的引擎僅支持在Google的公共云服務(wù)中運(yùn)行的那些集群西采。
Q11。什么是堆继控?
Heapster是在每個(gè)節(jié)點(diǎn)上運(yùn)行的Kubelet提供的數(shù)據(jù)的群集范圍內(nèi)的聚合器械馆。該容器管理工具在Kubernetes集群上本身受支持胖眷,并且像集群中的任何其他集群一樣作為Pod運(yùn)行。因此霹崎,它基本上會發(fā)現(xiàn)群集中的所有節(jié)點(diǎn)珊搀,并通過計(jì)算機(jī)上的Kubernetes代理從群集中的Kubernetes節(jié)點(diǎn)查詢使用情況信息。
Q12尾菇。什么是Minikube境析?
Minikube是一種可以輕松在本地運(yùn)行Kubernetes的工具。這將在虛擬機(jī)中運(yùn)行單節(jié)點(diǎn)Kubernetes集群派诬。
Q13劳淆。什么是 Kubectl?
Kubectl是一個(gè)平臺默赂,您可以使用該平臺將命令傳遞給集群沛鸵。因此,它基本上提供了CLI以各種方式創(chuàng)建和管理Kubernetes組件缆八,從而針對Kubernetes集群運(yùn)行命令曲掰。
Q14。什么是Kubelet奈辰?
這是一個(gè)代理服務(wù)栏妖,它在每個(gè)節(jié)點(diǎn)上運(yùn)行,并使從服務(wù)器能夠與主服務(wù)器通信奖恰。因此吊趾,Kubelet致力于PodSpec中提供給它的容器的描述,并確保PodSpec中描述的容器是正常運(yùn)行的房官。
Q15趾徽。您對Kubernetes中的節(jié)點(diǎn)了解什么续滋?
02.?基于架構(gòu)的Kubernetes面試問題
本部分問題將處理與Kubernetes架構(gòu)有關(guān)的問題翰守。
Q1。Kubernetes體系結(jié)構(gòu)有哪些不同的組成部分疲酌?
Kubernetes架構(gòu)主要包含兩個(gè)組件-主節(jié)點(diǎn)和工作節(jié)點(diǎn)蜡峰。如下圖所示,主節(jié)點(diǎn)和工作節(jié)點(diǎn)中有許多內(nèi)置組件朗恳。主節(jié)點(diǎn)具有kube-controller-manager湿颅,kube-apiserver,kube-scheduler等粥诫。而工作程序節(jié)點(diǎn)在每個(gè)節(jié)點(diǎn)上都運(yùn)行kubelet和kube-proxy油航。
Q2。您對Kube-proxy了解什么怀浆?
Kube-proxy可以在每個(gè)節(jié)點(diǎn)上運(yùn)行谊囚,并且可以跨后端網(wǎng)絡(luò)服務(wù)執(zhí)行簡單的TCP / UDP數(shù)據(jù)包轉(zhuǎn)發(fā)怕享。因此,基本上镰踏,它是一個(gè)網(wǎng)絡(luò)代理函筋,可反映每個(gè)節(jié)點(diǎn)上Kubernetes API中配置的服務(wù)。因此奠伪,可與Docker鏈接的兼容環(huán)境變量提供了由代理打開的群集IP和端口跌帐。
Q3。您能否簡要介紹一下Kubernetes中主節(jié)點(diǎn)的工作绊率?
Kubernetes主節(jié)點(diǎn)控制節(jié)點(diǎn)谨敛,并且在節(jié)點(diǎn)內(nèi)部存在容器。現(xiàn)在滤否,這些單獨(dú)的容器包含在Pod內(nèi)佣盒,每個(gè)Pod內(nèi),您可以根據(jù)配置和要求擁有各種數(shù)量的容器顽聂。因此肥惭,如果必須部署Pod,則可以使用用戶界面或命令行界面來部署它們紊搪。然后蜜葱,在節(jié)點(diǎn)上調(diào)度這些Pod,并根據(jù)資源需求將Pod分配給這些節(jié)點(diǎn)耀石。kube-apiserver確保在Kubernetes節(jié)點(diǎn)和主組件之間建立了通信牵囤。
圖8:Kubernetes主節(jié)點(diǎn)的表示-Kubernetes面試問題
Q4。kube-apiserver和kube-scheduler的作用是什么滞伟?
kube – apiserver遵循橫向擴(kuò)展架構(gòu)揭鳞,并且是主節(jié)點(diǎn)控制面板的前端。這將公開Kubernetes主節(jié)點(diǎn)組件的所有API梆奈,并負(fù)責(zé)在Kubernetes節(jié)點(diǎn)和Kubernetes主組件之間建立通信野崇。
kube調(diào)度程序負(fù)責(zé)在工作節(jié)點(diǎn)上分配和管理工作負(fù)載。因此亩钟,它根據(jù)資源需求選擇最合適的節(jié)點(diǎn)來運(yùn)行計(jì)劃外的Pod乓梨,并跟蹤資源利用率。它可以確保未在已滿的節(jié)點(diǎn)上調(diào)度工作負(fù)載清酥。
Q5扶镀。您能簡要介紹一下Kubernetes控制器管理器嗎?
多個(gè)控制器進(jìn)程在主節(jié)點(diǎn)上運(yùn)行焰轻,但被編譯在一起以作為單個(gè)進(jìn)程(即Kubernetes Controller Manager)運(yùn)行臭觉。因此,Controller Manager是一個(gè)守護(hù)程序,它嵌入控制器并執(zhí)行名稱空間創(chuàng)建和垃圾回收蝠筑。它負(fù)責(zé)并與API服務(wù)器通信以管理端點(diǎn)忆肾。
因此,在主節(jié)點(diǎn)上運(yùn)行的不同類型的控制器管理器為:
Q6菱肖。什么是ETCD客冈?
Etcd用Go編程語言編寫,并且是用于在分布式工作之間進(jìn)行協(xié)調(diào)的分布式鍵值存儲稳强。因此场仲,Etcd存儲Kubernetes集群的配置數(shù)據(jù),該數(shù)據(jù)表示集群在任何給定時(shí)間點(diǎn)的狀態(tài)退疫。
Q7渠缕。Kubernetes中有哪些不同類型的服務(wù)??
以下是使用的不同類型的服務(wù):
Q8褒繁。您對Kubernetes中的負(fù)載均衡器了解什么亦鳞?
負(fù)載平衡器是公開服務(wù)的最常見和標(biāo)準(zhǔn)的方式之一。根據(jù)工作環(huán)境使用兩種類型的負(fù)載均衡器棒坏,即內(nèi)部負(fù)載均衡器或外部負(fù)載均衡器燕差。內(nèi)部負(fù)載平衡器會自動平衡負(fù)載并為Pod分配所需的配置,而外部負(fù)載平衡器會將流量從外部負(fù)載定向到后端Pod坝冕。
Q9徒探。什么是Ingress網(wǎng)絡(luò)?它如何工作喂窟?
入口網(wǎng)絡(luò)是充當(dāng)Kubernetes集群入口點(diǎn)的規(guī)則的集合测暗。這允許入站連接,可以將其配置為通過可訪問的URL磨澡,負(fù)載平衡流量或通過提供基于名稱的虛擬主機(jī)在外部提供服務(wù)碗啄。因此,Ingress是一個(gè)API對象稳摄,通常通過HTTP管理對集群中服務(wù)的外部訪問稚字,這是公開服務(wù)的最強(qiáng)大方法。
現(xiàn)在秩命,讓我通過一個(gè)示例向您解釋Ingress網(wǎng)絡(luò)的工作原理尉共。
有2個(gè)節(jié)點(diǎn)具有帶有Linux網(wǎng)橋的pod和根網(wǎng)絡(luò)名稱空間褒傅。除此之外弃锐,還向根網(wǎng)絡(luò)添加了一個(gè)名為flannel0(網(wǎng)絡(luò)插件)的新虛擬以太網(wǎng)設(shè)備。
現(xiàn)在殿托,假設(shè)我們希望數(shù)據(jù)包從pod1到pod4霹菊。請參考下圖。
因此,數(shù)據(jù)包在eth0離開pod1的網(wǎng)絡(luò)旋廷,并在veth0進(jìn)入根網(wǎng)絡(luò)鸠按。
然后將其傳遞給cbr0,后者發(fā)出ARP請求以查找目標(biāo)饶碘,并且發(fā)現(xiàn)該節(jié)點(diǎn)上沒有人具有目標(biāo)IP地址目尖。
因此,網(wǎng)橋?qū)?shù)據(jù)包發(fā)送到flannel0扎运,因?yàn)楣?jié)點(diǎn)的路由表已配置了flannel0瑟曲。
現(xiàn)在,法蘭絨守護(hù)程序與Kubernetes的API服務(wù)器進(jìn)行對話豪治,以了解所有Pod IP及其各自的節(jié)點(diǎn)洞拨,以創(chuàng)建Pod IP到節(jié)點(diǎn)IP的映射。
網(wǎng)絡(luò)插件將該數(shù)據(jù)包包裝在帶有額外報(bào)頭的UDP數(shù)據(jù)包中负拟,該報(bào)頭將源IP和目標(biāo)IP更改為它們各自的節(jié)點(diǎn)烦衣,并通過eth0發(fā)送此數(shù)據(jù)包。
現(xiàn)在掩浙,由于路由表已經(jīng)知道如何在節(jié)點(diǎn)之間路由流量花吟,因此它將數(shù)據(jù)包發(fā)送到目標(biāo)節(jié)點(diǎn)2。
數(shù)據(jù)包到達(dá)節(jié)點(diǎn)2的eth0厨姚,然后返回flannel0進(jìn)行解封裝示辈,然后將其發(fā)送回根網(wǎng)絡(luò)名稱空間。
再次遣蚀,將數(shù)據(jù)包轉(zhuǎn)發(fā)到Linux網(wǎng)橋矾麻,以發(fā)出ARP請求以找出屬于veth1的IP。
數(shù)據(jù)包最終穿過根網(wǎng)絡(luò)并到達(dá)目標(biāo)Pod4芭梯。
Q10险耀。您對云控制器經(jīng)理了解什么?
Cloud Controller Manager負(fù)責(zé)持久性存儲玖喘,網(wǎng)絡(luò)路由甩牺,從核心Kubernetes特定代碼中提取特定于云的代碼以及管理與基礎(chǔ)云服務(wù)的通信。根據(jù)您所運(yùn)行的云平臺累奈,它可能會分成幾個(gè)不同的容器贬派,然后它使云供應(yīng)商和Kubernetes代碼得以開發(fā)而沒有任何相互依賴關(guān)系。因此澎媒,云供應(yīng)商可以在運(yùn)行Kubernetes時(shí)開發(fā)他們的代碼并與Kubernetes云控制器管理器連接搞乏。
各種類型的云控制器管理器如下:
Q11。什么是容器資源監(jiān)視戒努?
對于用戶而言请敦,了解所有不同抽象層的應(yīng)用程序性能和資源利用率非常重要,Kubernetes通過在不同級別(例如容器,pod侍筛,服務(wù)和整個(gè)集群)創(chuàng)建抽象萤皂,從而對集群的管理進(jìn)行了分解。現(xiàn)在匣椰,可以監(jiān)視每個(gè)級別裆熙,這不過是容器資源監(jiān)視而已。
各種容器資源監(jiān)視工具如下:
Q12禽笑。副本集和復(fù)制控制器之間有什么區(qū)別弛车?
副本集和復(fù)制控制器執(zhí)行幾乎相同的操作。它們兩者都確保在任何給定時(shí)間都運(yùn)行指定數(shù)量的Pod副本蒲每。不同之處在于使用選擇器來復(fù)制容器纷跛。副本集使用基于集合的選擇器,而復(fù)制控制器使用基于權(quán)益的選擇器邀杏。
基于股權(quán)的選擇器:?這種類型的選擇器允許按標(biāo)簽鍵和值進(jìn)行過濾贫奠。因此,以通俗易懂的術(shù)語來說望蜡,基于權(quán)益的選擇器將僅查找具有與標(biāo)簽詞組完全相同的詞組的豆莢唤崭。
示例:假設(shè)您的標(biāo)簽鍵為app = nginx,那么使用此選擇器脖律,您只能查找標(biāo)簽為app等于nginx的吊艙谢肾。
基于選擇器的選擇器:?這種類型的選擇器允許根據(jù)一組值過濾鍵。因此小泉,換句話說芦疏,基于選擇器的選擇器將查找其標(biāo)簽已在集合中提及的Pod。
示例:說您的標(biāo)簽密鑰說(nginx微姊,NPS酸茴,Apache)中為app。然后兢交,使用此選擇器薪捍,如果您的應(yīng)用等于nginx,NPS或Apache中的任何一個(gè)配喳,則選擇器會將其視為真實(shí)結(jié)果酪穿。
Q13。什么是無頭服務(wù)晴裹?
無頭服務(wù)類似于“普通”服務(wù)被济,但沒有群集IP。此服務(wù)使您可以直接到達(dá)吊艙息拜,而無需通過代理進(jìn)行訪問溉潭。
Q14净响。使用Kubernetes時(shí)可以采取的最佳安全措施是什么少欺?
以下是使用Kubernetes時(shí)可以遵循的最佳安全措施:
Q15喳瓣。什么是聯(lián)合集群?
借助聯(lián)合集群赞别,可以將多個(gè)Kubernetes集群作為一個(gè)集群進(jìn)行管理畏陕。因此,您可以在一個(gè)數(shù)據(jù)中心/云中創(chuàng)建多個(gè)Kubernetes集群仿滔,并使用聯(lián)合在一個(gè)地方控制/管理所有集群惠毁。
聯(lián)合群集可以通過執(zhí)行以下兩項(xiàng)操作來實(shí)現(xiàn)此目的。請參考下圖崎页。
03.?基于場景的面試題
這部分問題將由您在面試中可能遇到的各種基于場景的問題組成鞠绰。
方案1:??假設(shè)一家基于整體架構(gòu)的公司處理許多產(chǎn)品。現(xiàn)在飒焦,隨著公司在當(dāng)今規(guī)尿谂颍化行業(yè)中的發(fā)展,其整體架構(gòu)開始引起問題牺荠。您如何看待公司從單一服務(wù)轉(zhuǎn)向微服務(wù)并部署其服務(wù)容器翁巍?
解:由于該公司的目標(biāo)是從單一應(yīng)用程序轉(zhuǎn)變?yōu)槲⒎?wù),因此它們最終可以一步一步地并行構(gòu)建休雌,而只需在后臺切換配置即可灶壶。然后,他們可以將每個(gè)內(nèi)置微服務(wù)放在Kubernetes平臺上杈曲。因此驰凛,他們可以從遷移服務(wù)一次或兩次并監(jiān)視它們以確保一切運(yùn)行穩(wěn)定開始。一旦他們感覺一切順利担扑,就可以將應(yīng)用程序的其余部分遷移到其Kubernetes集群中洒嗤。
方案2:考慮一家擁有非常分散的系統(tǒng),擁有大量數(shù)據(jù)中心魁亦,虛擬機(jī)以及許多從事各種任務(wù)的員工的跨國公司渔隶。您認(rèn)為這樣?的公司如何與Kubernetes一致地管理所有任務(wù)?
解:眾所周知洁奈,IT部門啟動了數(shù)千個(gè)容器间唉,任務(wù)在分布式系統(tǒng)中的多個(gè)節(jié)點(diǎn)上運(yùn)行。
在這種情況下利术,公司可以使用能夠?yàn)榛谠频膽?yīng)用程序提供敏捷性呈野,橫向擴(kuò)展功能和DevOps實(shí)踐的功能。
因此印叁,該公司可以使用Kubernetes定制其調(diào)度架構(gòu)并支持多種容器格式被冒。這使得容器任務(wù)之間的親和力成為可能挟炬,它通過對各種容器聯(lián)網(wǎng)解決方案和容器存儲的廣泛支持而提高了效率斑鼻。
方案3:?考慮一種情況,公司希望通過保持最低成本來提高效率和技術(shù)運(yùn)營速度。您如何看待公司將如何實(shí)現(xiàn)這一目標(biāo)卿吐?
解:該公司可以通過構(gòu)建CI / CD管道來實(shí)現(xiàn)DevOps方法此迅,但是此處可能出現(xiàn)的一個(gè)問題是抵碟,配置可能需要花費(fèi)一些時(shí)間才能啟動并運(yùn)行虫埂。因此,在實(shí)施CI / CD管道之后葱蝗,公司的下一步應(yīng)該是在云環(huán)境中工作穴张。一旦他們開始在云環(huán)境中工作,他們就可以在集群上調(diào)度容器两曼,并可以在Kubernetes的幫助下進(jìn)行編排皂甘。這種方法將幫助公司減少部署時(shí)間,并在各種環(huán)境中更快地完成部署悼凑。
方案4:?假設(shè)一家公司想要修改其部署方法偿枕,并希望構(gòu)建一個(gè)可擴(kuò)展性和響應(yīng)性更高的平臺。您如何看待這家公司能夠?qū)崿F(xiàn)這一目標(biāo)以滿足他們的客戶佛析?
解:為了給數(shù)百萬客戶提供他們期望的數(shù)字體驗(yàn)益老,該公司需要一個(gè)可擴(kuò)展且響應(yīng)迅速的平臺,以便他們可以快速將數(shù)據(jù)獲取到客戶網(wǎng)站〈缒現(xiàn)在捺萌,要做到這一點(diǎn),公司應(yīng)該從其私有數(shù)據(jù)中心(如果他們使用的是任何數(shù)據(jù)中心)遷移到任何云環(huán)境(例如AWS)膘茎。不僅如此桃纯,他們還應(yīng)該實(shí)現(xiàn)微服務(wù)架構(gòu),以便他們可以開始使用Docker容器披坏。一旦他們準(zhǔn)備好了基礎(chǔ)框架态坦,便可以開始使用可用的最佳編排平臺,即Kubernetes棒拂。這將使團(tuán)隊(duì)能夠自主構(gòu)建應(yīng)用程序并非成√荩快速地交付它們。
方案5:考慮一家擁有非常分散的系統(tǒng)的跨國公司帚屉,希望解決整體代碼庫問題谜诫。您認(rèn)為公司如何解決他們的問題?
解:好了攻旦,要解決該問題喻旷,他們可以將其整體代碼庫轉(zhuǎn)移到微服務(wù)設(shè)計(jì)中,然后將每個(gè)微服務(wù)都視為一個(gè)容器牢屋。因此且预,所有這些容器都可以在Kubernetes的幫助下進(jìn)行部署和編排槽袄。
場景6:?我們所有人都知道從單服務(wù)到微服務(wù)的轉(zhuǎn)變從開發(fā)方面解決了問題,但在部署方面卻增加了問題锋谐。公司如何解決部署方面的問題遍尺?
解:該團(tuán)隊(duì)可以嘗試使用容器編排平臺(例如Kubernetes)并在數(shù)據(jù)中心中運(yùn)行它。因此怀估,借助此工具狮鸭,該公司可以生成模板化的應(yīng)用程序合搅,在五分鐘內(nèi)對其進(jìn)行部署多搀,并在此時(shí)將實(shí)際實(shí)例包含在登臺環(huán)境中。這種Kubernetes項(xiàng)目將具有數(shù)十個(gè)并行運(yùn)行的微服務(wù)灾部,以提高生產(chǎn)率康铭,即使節(jié)點(diǎn)發(fā)生故障,也可以立即對其進(jìn)行重新調(diào)度赌髓,而不會影響性能从藤。
方案7:??假設(shè)一家公司希望通過采用新技術(shù)來優(yōu)化其工作負(fù)載的分配。公司如何有效地實(shí)現(xiàn)這種資源分配锁蠕?
解:解決這個(gè)問題的方法莫過于Kubernetes夷野。Kubernetes確保有效地優(yōu)化資源,并且僅使用特定應(yīng)用程序所需的那些資源荣倾。因此悯搔,通過使用最佳的容器編排工具,公司可以有效地實(shí)現(xiàn)資源分配舌仍。
方案8:?考慮一家拼車公司希望通過同時(shí)擴(kuò)展其平臺來增加服務(wù)器數(shù)量妒貌。您認(rèn)為公司將如何處理服務(wù)器及其安裝?
解:公司可以采用集裝箱化的概念铸豁。一旦將所有應(yīng)用程序部署到容器中灌曙,他們就可以使用Kubernetes進(jìn)行編排,并使用Prometheus等容器監(jiān)視工具來監(jiān)視容器中的動作节芥。因此在刺,使用這樣的容器,可以為它們提供更好的數(shù)據(jù)中心容量規(guī)劃头镊,因?yàn)橛捎诜?wù)和運(yùn)行的硬件之間的這種抽象蚣驼,它們現(xiàn)在將具有更少的約束。
方案9:?考慮一個(gè)公司要向具有各種環(huán)境的客戶提供所有必需的分發(fā)產(chǎn)品的方案拧晕。您如何看待他們?nèi)绾蝿討B(tài)地實(shí)現(xiàn)這一關(guān)鍵目標(biāo)隙姿?
解:該公司可以使用Docker環(huán)境,組成一個(gè)跨部門團(tuán)隊(duì)厂捞,以使用Kubernetes構(gòu)建Web應(yīng)用程序输玷。這種框架將幫助公司實(shí)現(xiàn)在最短時(shí)間內(nèi)將所需物品投入生產(chǎn)的目標(biāo)队丝。因此,通過運(yùn)行這種機(jī)器欲鹏,公司可以向所有具有各種環(huán)境的客戶提供幫助机久。
場景10:假設(shè)一家公司希望在從裸機(jī)到公共云的不同云基礎(chǔ)架構(gòu)上運(yùn)行各種工作負(fù)載。在存在不同接口的情況下赔嚎,公司將如何實(shí)現(xiàn)這一目標(biāo)膘盖?
解:該公司可以將其基礎(chǔ)架構(gòu)分解為微服務(wù),然后采用Kubernetes尤误。這將使公司在不同的云基礎(chǔ)架構(gòu)上運(yùn)行各種工作負(fù)載侠畔。