華為云云原生鉆石集訓(xùn)營 第一課:容器運(yùn)行時技術(shù)深度剖析

      網(wǎng)友投稿 1025 2022-05-30

      課程目標(biāo):

      學(xué)完本課程后,您將能夠:

      了解容器隔離技術(shù)的基本原理;

      了解主流的容器運(yùn)行時實(shí)現(xiàn);

      了解華為云上使用到的容器運(yùn)行時。

      華為云云原生鉆石集訓(xùn)營 第一課:容器運(yùn)行時技術(shù)深度剖析

      課程大綱:

      第1章 容器引擎和運(yùn)行時機(jī)制原理剖析

      第2章 業(yè)界主流容器運(yùn)行時技術(shù)架構(gòu)剖析

      第3章 華為云容器運(yùn)行時技術(shù)架構(gòu)剖析

      第4章 容器運(yùn)行時技術(shù)的發(fā)展方向

      容器引擎和運(yùn)行時原理1:CRI接口

      CRI接口: kubelet調(diào)用容器運(yùn)行時的grpc接口

      dockershim: kubernetes對接docker api的CRI接口適配器,kubernetes 1.21版本已經(jīng)將其標(biāo)注為廢棄接口。

      CRl-containerd:通過containerd中的CRI插件實(shí)現(xiàn)了CRI接口,讓containerd可直接對接containerd啟動容器,無需調(diào)用docker api。當(dāng)前使用最廣泛的CRI接口接口實(shí)現(xiàn)。

      CRI-O:專注于在kubernetes運(yùn)行容器的輕量級CRI接口實(shí)現(xiàn)(不關(guān)注開發(fā)態(tài))。

      容器引擎和運(yùn)行時原理1:CRI接口

      運(yùn)行時:負(fù)責(zé)容器的生命周期管理,包括容器創(chuàng)建,啟動、停止、日志和性能采集等接口。

      鏡像:負(fù)責(zé)容器運(yùn)行的管理,包括顯示鏡像、拉取鏡像、刪除鏡像等接口。

      容器引擎和運(yùn)行時原理2:OCI? runtime spec

      OCI組織: Linux基金會于2015年6月成立OCI (Open ContainerInitiative)組織,旨在圍繞容器格式和運(yùn)行時制定一個開放的工業(yè)化標(biāo)準(zhǔn)。目前主要有兩個標(biāo)準(zhǔn)文檔:容器運(yùn)行時標(biāo)準(zhǔn)(runtime spec)和容器鏡像標(biāo)準(zhǔn)(image spec)

      Runtime spec:容器運(yùn)行時標(biāo)準(zhǔn),定義了容器狀態(tài)和配置文件格式,容器生命周期管理命令格式和參數(shù)等。

      runc: docker捐獻(xiàn)給OCl社區(qū)的一個runtime spec的參考實(shí)現(xiàn),docker容器也是基于runc創(chuàng)建的。

      Kata-runtime:一種基于虛擬化的安全隔離的OCl runtime spec的實(shí)現(xiàn)。

      gVisor:一種基于系統(tǒng)調(diào)用攔截技術(shù)的輕量級安全容器實(shí)現(xiàn)。

      容器引擎和運(yùn)行時原理2:OCI runtime spec

      config.json:定義容器運(yùn)行所需要的所有信息,包括rootfs、mounts、進(jìn)程、cgroups、namespaces、caps等。

      命令:容器生命周期管理命令、包括創(chuàng)建、啟動、停止、刪除等。

      容器引擎和運(yùn)行時原理3:runtime v2

      shimv2:新的容器運(yùn)行時接口,基于ttrpc通信。

      目的:讓運(yùn)行時更方便維護(hù)容器狀態(tài)和生命周期,減少安全容器實(shí)現(xiàn)中,節(jié)點(diǎn)的進(jìn)程數(shù)和資源調(diào)用。

      業(yè)界主流容器運(yùn)行時1: runc

      Namespace:資源和信息的可見性隔離,通過namespace隔離,容器中的應(yīng)用只能看到分配到該容器的資源、其他主機(jī)上的信息在容器中不可見。常用的namespace有PID(進(jìn)程號)、(網(wǎng)絡(luò))、UTS(主機(jī)名)和IPC(跨進(jìn)程通信)等

      Cgroups:資源使用量的隔離,通過cgroup、限制了容器使用的資源量,通過不同的子系統(tǒng),限制不同的資源。包括CPU、內(nèi)存、io帶寬、大頁、fd數(shù)等等

      Capability:權(quán)限限制,通過對進(jìn)程的capability定義,限制容器中的進(jìn)程調(diào)用某些系統(tǒng)調(diào)用,以達(dá)到容器進(jìn)程無法逃逸到主機(jī)的目的,比如容器中的進(jìn)程是不具有以下capability的:SYS ADMIN/MKNOD/SYS_RESOURCE/SYS_MODULES ...

      業(yè)界主流容器運(yùn)行時1:? runc

      業(yè)界主流容器運(yùn)行時2 : kata containers

      1.虛擬化隔離:每個pod都運(yùn)行在一個獨(dú)立的虛擬機(jī)中,提供虛擬化接口對接不同的虛擬化實(shí)現(xiàn),包括qemu.cloud hypervisor、firecracker等等

      ⒉輕量化:為了達(dá)到和容器近似的使用體驗,需要對各組件進(jìn)行裁剪,達(dá)到輕量化和啟動加速的目的,對于hypervisor,去除通用虛擬化的各種不必要的設(shè)備、總線等。對于guest kernel,也裁剪了大量不需要的驅(qū)動和文件系統(tǒng)模塊。而運(yùn)行在虛擬機(jī)中的1號進(jìn)程(一般為kata-agent),資源占用可小于1MB。

      3.主機(jī)資源訪問:通過virtio、vfio等方式訪問主機(jī)資源,如virtio-blk(塊設(shè)備)、virtio-fs(文件)、virtio-net (網(wǎng)絡(luò))、vfio(物理設(shè)備)、vhost-user (用戶態(tài)網(wǎng)絡(luò)或存儲)

      業(yè)界主流容器運(yùn)行時3: gVisor

      1.虛擬內(nèi)核:設(shè)置進(jìn)程的4種模式,HRO、HR3、GRO、GR3,通過攔截系統(tǒng)調(diào)用,實(shí)現(xiàn)了一個虛擬內(nèi)核,用戶進(jìn)程與host kernel不直接交互

      2.攔截系統(tǒng)調(diào)用的方式:ptrace、kvm

      3.優(yōu)點(diǎn):額外內(nèi)存消耗小,容器啟動速度快

      4.缺點(diǎn):系統(tǒng)調(diào)用慢,導(dǎo)致IO、網(wǎng)絡(luò)等性能差,由于是模擬內(nèi)核,有POSIX兼容性問題

      華為云中的容器運(yùn)行時: Enhanced Kata Containers

      1.輕量化: hypervisor采用華為云自研的qemu-microvm,guest kernel采用裁剪EulerOS內(nèi)核、主機(jī)shimv2采用rust語言重寫。

      2.豐富的硬件支持:GPU、nvlink、Ascend、IB、SDl

      3.華為云基礎(chǔ)設(shè)施融合:evs(塊設(shè)備)、obs(對象存儲)、sfs (文件存儲)、vpc(華為云VPC網(wǎng)絡(luò))

      4.產(chǎn)品形態(tài):CCI(全托管的云容器實(shí)例)、CCE turbo (CCE增強(qiáng)版)

      容器運(yùn)行時技術(shù)的發(fā)展方向: 更輕量、更安全

      1.定制虛擬化和內(nèi)核:提供更輕量的安全隔離? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1.基于虛擬化的機(jī)密計算:TDX、SEV、PEF

      2. Sandbox plugin:去除host上的shim。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.鏡像功能卸載:主機(jī)上看不到容器鏡像

      3.Rust化: hypervisor、kernel、agent? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3.遠(yuǎn)程認(rèn)證:確保運(yùn)行在機(jī)密環(huán)境中

      總結(jié):

      1.從API的角度介紹了kubernetes下容器運(yùn)行時的架構(gòu)和原理。

      - Kubernetes定義的容器運(yùn)行時接口:CRI,當(dāng)前較為主流的實(shí)現(xiàn)包括dockershim、cri-containerd、cri-o。

      - OCl runtime spec定義了運(yùn)行時實(shí)現(xiàn)中,文件格式和命令行格式,runc、 kata、gVisor等運(yùn)行時都符合這個標(biāo)準(zhǔn)

      - Containerd定義了一套ttrpc接口,方便運(yùn)行時實(shí)現(xiàn)者更好地進(jìn)行容器狀態(tài)管理

      2.介紹了當(dāng)前較為熱門的幾種容器運(yùn)行時的實(shí)現(xiàn)

      - Runc:基于linux的namespace、cgroup和capability等技術(shù)實(shí)現(xiàn)隔離的容器實(shí)現(xiàn)- Kata containers:基于虛擬化隔離技術(shù)的容器實(shí)現(xiàn)

      - gVisor:一種基于攔截系統(tǒng)調(diào)用的實(shí)現(xiàn)隔離的容器實(shí)現(xiàn)

      3.介紹了華為云的容器產(chǎn)品和對應(yīng)的運(yùn)行時選擇及增強(qiáng)

      -華為云的安全容器基于EulerOS和華為云自研的qemu-microvm對安全容器進(jìn)行了輕量化改造

      -華為云的安全容器支持GPU、nvlink、Ascend、SDI等各種硬件設(shè)備

      -華為云的安全容器和華為云的VPC網(wǎng)絡(luò)、OBS、SFS、EVS等服務(wù)可無縫對接。

      4.介紹了容器運(yùn)行時未來的發(fā)展方向。

      -通過rust改寫、減少host進(jìn)程,進(jìn)一步輕量化hypervisor等方式實(shí)現(xiàn)更加輕量級的安全容器

      -結(jié)合機(jī)密計算技術(shù),實(shí)現(xiàn)更加安全的容器技術(shù)。

      參考資料

      容器運(yùn)行技術(shù)原理相關(guān)參考鏈接:

      https://kubernetes.io/docs/setup/production-environment/container-runtimes/

      https://kubernetes.io/docs/concepts/containers/runtime-class/

      https://github.com/opencontainers/runtime-spec/blob/master/spec.md

      https://github.com/containerd/containerd#cri

      https://cri-o.io/

      https://github.com/opencontainers/runc

      https://katacontainers.io/

      https://gvisor.dev/

      https://www.huaweicloud.com/product/cce.html

      https://www.huaweicloud.com/product/cci.html

      Kubernetes 云容器引擎 CCE 容器

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:【實(shí)操指南】一分鐘學(xué)會技術(shù)文章的排版
      下一篇:單片機(jī)理論與實(shí)踐課程總結(jié)與補(bǔ)充材料
      相關(guān)文章
      国产亚洲精品不卡在线| 亚洲AV色无码乱码在线观看| 免费亚洲视频在线观看| 亚洲欧美精品午睡沙发| 亚洲一区在线视频| 亚洲美女中文字幕| 亚洲高清不卡视频| 亚洲天堂一区二区三区| 亚洲天堂一区二区三区四区| 亚洲av片不卡无码久久| 最新国产成人亚洲精品影院| 亚洲成人激情小说| 亚洲色无码专区一区| 亚洲欧美成aⅴ人在线观看| 亚洲乱亚洲乱妇无码| 亚洲成av人片在线天堂无| 亚洲爆乳少妇无码激情| 在线观看亚洲免费视频| 亚洲福利中文字幕在线网址| 国产综合成人亚洲区| 亚洲成人国产精品| ZZIJZZIJ亚洲日本少妇JIZJIZ| 国产a v无码专区亚洲av| 伊人久久大香线蕉亚洲五月天| 亚洲va国产va天堂va久久| 亚洲Aⅴ无码专区在线观看q| 精品亚洲成a人片在线观看少妇| 亚洲沟沟美女亚洲沟沟| 亚洲中文字幕无码一去台湾| 亚洲欧美成人一区二区三区| 亚洲国产成人爱av在线播放| 激情97综合亚洲色婷婷五 | 国产亚洲精品岁国产微拍精品| 日韩亚洲欧洲在线com91tv| 亚洲人成在线电影| 亚洲国产成人91精品| 亚洲精品一二三区| 99亚洲乱人伦aⅴ精品| 国产亚洲精品无码拍拍拍色欲| 国产亚洲精品国产| 亚洲黄色三级视频|