Kubecon告訴你,你的容器安全嗎?
您的容器安全嗎?您是否對將 Linux 名稱空間作為安全邊界感到滿意?在本次KubeCon大會上,將會有來自阿里巴巴的高級技術專家Lei Zhang 和來自HyperHQ 的工程師Fupan Li來為大家分享他們關于容器安全方面的寶貴經驗。
他們希望通過與 containerd 的集成,集中討論如何利用基于硬件虛擬化的運行期(特別是 KataContainers)在 Kubernetes 集群中的設計和實現(xiàn)。并將演示他們是如何將 KataContainers 重構為containerd 的插件的,運行時插件如何通過容器運行期接口來處理網(wǎng)絡,并通過自定義卷插件解決基于管理程序的容器運行時的低性能問題。
在這之前,我們有必要先詳細了解一下containerd 和KataContainers這兩個概念。把基礎知識夯實更有利于大家汲取更高級的知識。
關于containerd
containerd的發(fā)音是“container-dee”,正如它的名字,它是一個容器守護進程,而不是“收集-迷,contain-nerd”。它最初是作為 OCI 運行時(就像 runC一樣)的集成點而構建的,然而在短短一年中它增加了許多特性,使其達到了像 Docker 這樣的現(xiàn)代容器平臺以及像 Kubernetes 這樣的編排平臺的需求。
近年來,containerd 被用于 Docker、Kubernetes CRI、以及一些其它的項目,在這些平臺中事實上都使用了 containerd,而許多人并不知道 containerd 存在于這些平臺之中。
那么,使用 containerd 能做些什么呢?你可以擁有推送或拉取功能以及鏡像管理??梢該碛腥萜魃芷?API 去創(chuàng)建、運行、以及管理容器和它們的任務。一個完整的專門用于快照管理的 API,以及一個其所依賴的開放治理的項目。如果你需要去構建一個容器平臺,基本上你不需要去處理任何底層操作系統(tǒng)細節(jié)方面的事情。關于 containerd 中最重要的部分是,它有一個版本化的并且有 bug 修復和安全補丁的穩(wěn)定 API。
由于在內核中沒有一個 Linux 容器這樣的東西,因此容器是多種內核特性捆綁在一起而成的,當你構建一個大型平臺或者分布式系統(tǒng)時,你需要在你的管理代碼和系統(tǒng)調用之間構建一個抽象層,然后將這些特性捆綁粘接在一起去運行一個容器。而這個抽象層就是 containerd 的所在之處。它為穩(wěn)定類型的平臺層提供了一個客戶端,這樣平臺可以構建在頂部而無需進入到內核級。因此,可以讓使用容器、任務、和快照類型的工作相比通過管理調用去 clone() 或者 mount() 要友好的多。與靈活性相平衡,直接與運行時或者宿主機交互,這些對象避免了常規(guī)的高級抽象所帶來的性能犧牲。結果是簡單的任務很容易完成,而困難的任務也變得更有可能完成。
圖:containerd
關于KataContainers
kata containers是由OpenStack基金會管理,但獨立于OpenStack項目之外的容器項目。它是一個可以使用容器鏡像以超輕量級虛機的形式創(chuàng)建容器的運行時工具。
kata containers整合了Intel的 Clear Containers 和 Hyper.sh 的 runV,能夠支持不同平臺的硬件(x86-64,arm等),并符合OCI(Open Container Initiative)規(guī)范,同時還可以兼容k8s的 CRI(Container Runtime Interface)接口規(guī)范。目前項目包含幾個配套組件,即Runtime,Agent, Proxy,Shim,Kernel等。目前Kata Containers的運行時還沒有整合,即Clear containers 和 runV 還在獨立的組織內。
如果大家了解Docker技術,就會知道,真正啟動Docker容器的命令工具是RunC,它是OCI運行時規(guī)范 (runtime-spec)的默認實現(xiàn)。
Kata containers其實跟RunC類似,也是一個符合OCI運行時規(guī)范的一種實現(xiàn)(即Clear Container和runV 都符合OCI規(guī)范),不同之處是,它給每個容器(在Docker容器的角度)或每個Pod(k8s的角度)增加了一個獨立的linux內核(不共享宿主機的內核),使容器有更好的隔離性,安全性。
容器技術發(fā)展如火如荼,其安全問題也隨之變得愈發(fā)重要。本次會議上,專家們還將介紹容器運行期接口的設計和實施,這已經引發(fā)了 Kubernetes 社區(qū)容器運行時的第二次風靡時期。最后,將解釋為什么管理程序運行時不僅僅是關于安全性:舊版應用程序和硬件多租戶,它已為世界 containerd + KataContainers 做好準備。
本期則隆重推薦:
Lei Tang , Google軟件工程師
Lei Tang博士是谷歌的軟件工程師。他目前在做的項目包括云服務網(wǎng)格和云服務的安全系統(tǒng)。他獲得萊斯大學(Rice University)計算機科學博士學位。他榮獲第十二屆移動 Ad Hoc 網(wǎng)絡和計算 ACM 國際研討會(ACM MobiHoc 2011)最佳論文獎。他是“IEEE Transactions on Industrial Informatics”期刊的副編輯。已經在國際期刊和大會發(fā)表了 15 份研究論文,他的論文被國際研究論文引用超過 740 次。
Scott Nichols , Google軟件工程師
Scott Nichols 是一名谷歌人,從事 CloudEvents 等相關執(zhí)行工作。Scott Nichols曾在 2018 年參加哥本哈根大會的演講,演講關于使用 OSBAPI 控制家居自動化。
KubeCon + CloudNativeCon 2018即將開始,請立即購票,勿失良機!
余票所剩無幾,欲購從速,票價如下:
標準注冊2400元;
貴賓注冊6000元;
學術或愛好者注冊500元;
更多精彩內容請搜索 KubeCon 前往官網(wǎng)進行了解!
下周二,我們與您在上海見面!
———————————感謝活動贊助商———————————
鉆石贊助商
阿里云
華為云
IBM Cloud
Tencent Cloud
鉑金贊助商
靈雀云
才云
Google Cloud
英特爾
京東
Microsoft Azure
Rancher
VMware
黃金贊助商
SUSE
白銀贊助商
BoCloud
Cloud Foundry
DaoCloud
EasyStack
Eclipse Foundation
Elastic
GitLab
Mesosphere
NGINX
PingCAP
Red Hat
YAHOO! JAPAN
初創(chuàng)企業(yè)贊助商
Aljabr
AMPERE
CStack
EMQ
Giant Swarm
諧云科技
inwinSTACK
KONTENA
藍燈數(shù)據(jù)
LF DEEP LEARNING
PlanetScale
時速云
睿云智合
媒體合作伙伴
開源中國社區(qū)
極客邦科技/ InfoQ
TFIR
THE NEW STACK
社區(qū)合作伙伴
ServiceComb
ArcBlock
容器時代
中國電子技術標準化研究院
中國開源軟件(OSS)推進聯(lián)盟
異步社區(qū)
掘金
開源社
Ladies Who Tech
開源中國社區(qū)
云計算開源產業(yè)聯(lián)盟
WOMEN WHO CODE
免責聲明:本網(wǎng)站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網(wǎng)站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。