今天就跟大家聊聊有關(guān)怎么使用Sidecar代理加強(qiáng)Kubernetes安全性,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
公司主營業(yè)務(wù):網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出溫州免費(fèi)做網(wǎng)站回饋大家。
導(dǎo)語
Sidecar可以幫助簡化應(yīng)用程序開發(fā),但是每種方法都有其自身的安全注意事項(xiàng)。
典型的應(yīng)用程序需要共同的功能,例如日志記錄,監(jiān)視,跟蹤,配置和安全性。這些功能可以作為應(yīng)用程序代碼的一部分實(shí)現(xiàn),也可以作為單獨(dú)的進(jìn)程在應(yīng)用程序代碼之外運(yùn)行。
每種選擇都有優(yōu)點(diǎn)和缺點(diǎn),但是在現(xiàn)代的云原生方法中,趨勢是將那些常見任務(wù)與應(yīng)用程序核心功能代碼分離。這種脫鉤的原理是在應(yīng)用程序堆棧常見任務(wù)中創(chuàng)建一致性,這在大型分布式應(yīng)用程序中至關(guān)重要。它還消除了對每種語言的依賴和維護(hù)專用庫的需要,從而使編程語言的選擇更加靈活。
專為微服務(wù)而設(shè)計(jì)的容器架構(gòu)是單獨(dú)維護(hù)的,并用不同的語言編寫,從而使開發(fā)人員無需重寫相似的開發(fā)代碼來實(shí)現(xiàn)單個(gè)功能。
例如,如果開發(fā)團(tuán)隊(duì)正在用Go編寫主應(yīng)用程序,并且存在用Python編寫的現(xiàn)有功能來收集日志和指標(biāo),那么將Python代碼卸載到Sidecar中的效率要比要求開發(fā)團(tuán)隊(duì)將其重寫為走。通用任務(wù)與部署在任何核心應(yīng)用程序服務(wù)旁邊的獨(dú)立統(tǒng)一服務(wù)的解耦稱為“ sidecar”架構(gòu)。
邊車在很大程度上取決于主要應(yīng)用。附加在sidecar中的外圍任務(wù)只有在附加到主應(yīng)用程序后才能實(shí)現(xiàn),因此對于應(yīng)用程序的每個(gè)實(shí)例,sidecar實(shí)例都與它并排部署。裝載在Sidecar上的每個(gè)外圍任務(wù)都是單獨(dú)的功能,可以獨(dú)立添加或刪除,以任何語言編寫和單獨(dú)更新,而不會影響主應(yīng)用程序代碼。
它們獨(dú)立于運(yùn)行時(shí)和編程語言運(yùn)行,并且可以訪問與主應(yīng)用程序相同的資源。在Kubernetes集群中,可以將sidecar部署為Kubernetes DaemonSet或sidecar代理。這些選項(xiàng)各有利弊。
守護(hù)程序集
Kubernetes中的經(jīng)典方法是使用DaemonSet。DaemonSet是Pod的副本,群集中的所有節(jié)點(diǎn)都在此Pod上運(yùn)行。創(chuàng)建包含共享功能(例如日志記錄指標(biāo),性能或配置)的容器或容器時(shí),它將在群集中的每個(gè)節(jié)點(diǎn)上運(yùn)行,并將這些功能提供給共享該節(jié)點(diǎn)的其他容器。
實(shí)際上,例如,在收集度量標(biāo)準(zhǔn)時(shí),一個(gè)DaemonSet Pod會為共享同一節(jié)點(diǎn)的所有Pod提供服務(wù),而不管它們的類型,功能以及它們是否正在運(yùn)行副本集或彼此獨(dú)立。
Sidecar代理
Sidecar代理提供了更精細(xì)的方法。Sidecar代理中的功能在每個(gè)Pod中分別提供微服務(wù)。代理容器在包含微服務(wù)的Pod內(nèi)部運(yùn)行,并且僅承載該微服務(wù)所需的功能,從而使代理保持輕量級。
DaemonSet與Sidecar代理
結(jié)構(gòu)上的考慮:在高度分隔雜物箱的環(huán)境中(例如,一個(gè)用于日志記錄的容器,另一個(gè)用于度量收集的容器和另一個(gè)用于性能的容器),每個(gè)吊艙必須攜帶三個(gè)雜物容器。這導(dǎo)致資源利用效率低下,因?yàn)榇蟛糠仲Y源正在完成相同的常見任務(wù),而不是為核心應(yīng)用程序提供服務(wù)。在這種情況下,使用DaemonSet而不是每個(gè)吊艙使用多個(gè)容器更為有效。
可用性:部署新的Sidecar容器需要重新啟動整個(gè)Pod。每個(gè)吊艙中都有多個(gè)容器,要保持交付效率,就需要專注于核心服務(wù)的DevOps團(tuán)隊(duì)與從事常見任務(wù)以及此類同步的DevOps團(tuán)隊(duì)之間保持緊密的同步。實(shí)現(xiàn)這種同步無疑是很難實(shí)現(xiàn)的。
如果開發(fā)周期不同步,則在部署新的DaemonSet或更新現(xiàn)有的DaemonSet時(shí)會導(dǎo)致潛在的停機(jī)時(shí)間。
DaemonSets的安全性
使用DaemonSet,可以在容器級別配置安全設(shè)置,其中包含特權(quán)定義,卷訪問權(quán)限,資源分配,二進(jìn)制授權(quán)以及與容器部署相關(guān)的任何內(nèi)容的詳細(xì)信息。
但是,在DaemonSet環(huán)境中,容器作為特權(quán)容器運(yùn)行。盡管它簡化了容器部署或容器的主機(jī)保護(hù)的驗(yàn)證,但它對容器行為的監(jiān)視提出了挑戰(zhàn),因?yàn)橄嗤娜萜鳎ㄒ卜Q為副本集)可能在不同的節(jié)點(diǎn)上運(yùn)行。
當(dāng)對多個(gè)容器應(yīng)用類似的策略時(shí),惡意行為者在容器之間橫向移動將構(gòu)成永久風(fēng)險(xiǎn)。它還無法解決用于節(jié)點(diǎn)間通信的基于網(wǎng)絡(luò)的隔離和隧道加密。
Sidecar代理的安全性
為了保護(hù)網(wǎng)絡(luò)層,sidecar代理是理想的。從主應(yīng)用程序卸載后,它們:
與語言無關(guān),因此無需使加密適應(yīng)庫中的每種語言。
支持創(chuàng)建統(tǒng)一和/或目標(biāo)特定策略和特權(quán)訪問。
管理隧道加密。
管理內(nèi)部集群通信。
但是,這些代理沒有DaemonSet功能來監(jiān)視和驗(yàn)證容器級別的安全設(shè)置。
最大化容器安全
為了充分利用Sidecar代理和DaemonSet安全功能的優(yōu)勢,可以使用Kubernetes本機(jī)機(jī)制,稱為準(zhǔn)入控制器。將專用的準(zhǔn)入控制器與Sidecar代理結(jié)合使用,可以創(chuàng)建解決所有潛在容器威脅選項(xiàng)的整體安全套件。
使用Kubernetes,準(zhǔn)入控制器用戶可以為Pod創(chuàng)建和部署設(shè)置細(xì)粒度的授權(quán)。在容器級別,可以利用它來阻止容器作為根容器運(yùn)行,或者確保容器的根文件系統(tǒng)被鎖定為只讀模式。它可以限制僅從批準(zhǔn)的特定注冊表中提取圖像,并拒絕未知的圖像注冊表。
使用Kubernetes準(zhǔn)入控制器和服務(wù)網(wǎng)格控制器
為了增強(qiáng)運(yùn)行時(shí)安全性,使用專用的準(zhǔn)入控制器可以管理關(guān)鍵的安全功能,例如:
二進(jìn)制授權(quán):策略執(zhí)行的瓶頸,將您環(huán)境中的部署限制為已簽名和授權(quán)的映像
連續(xù)漏洞掃描:在部署之前和之后,連續(xù)掃描檢查是否存在超出預(yù)定義閾值的漏洞
在Pod部署設(shè)置中配置Pod安全策略(PSP)
使用Selinux,Seccom和AppArmor管理Pod部署
下一代Kubernetes工作負(fù)載保護(hù)解決方案從CI / CD管道的上游啟動,自動識別合法工作負(fù)載。運(yùn)行時(shí)策略確保僅將這些工作負(fù)載部署到群集。
這樣,通過使用與網(wǎng)絡(luò)基礎(chǔ)架構(gòu)分離的基于身份的自動工作負(fù)載安全性替換多個(gè)碎片化的防火墻,安全組和ACL,可以簡化和加速應(yīng)用程序的安全性。
看完上述內(nèi)容,你們對怎么使用Sidecar代理加強(qiáng)Kubernetes安全性有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。