97在线观看播放-无码人妻久久一区二区三区不卡-免费大片黄在线观看-无码少妇一区二区三区芒果-美女不带套日出白浆免费视频-精品国偷自产在线

鍋爐之家客服熱線:13033933971

實(shí)用指南:如何在Anolis OS上輕松使用 Kata 安全容器?

2023-02-28 13:11 瀏覽:7 來源:鍋爐之家   
核心摘要:本篇文章我們將詳細(xì)介紹怎么輕松在 Anolis OS 上使用 Kata Containers 安全容器,我們將介紹 Kata Container 社區(qū)于 2022 年 10 月 10 日最新發(fā)行的 Kata3.0.0 的安裝部署方式,3.0.0 版本包含了基于袋鼠 RunD 開源的最新 Rust Kata runtime + 內(nèi)置Dragonball 和Go runtime + VMM(本文默認(rèn)安裝了QEMU)兩套架構(gòu)。目前社區(qū)

本篇文章我們將詳細(xì)介紹怎么輕松在 Anolis OS 上使用 Kata Containers 安全容器,我們將介紹 Kata Container 社區(qū)于 2022 年 10 月 10 日最新發(fā)行的 Kata3.0.0 的安裝部署方式,3.0.0 版本包含了基于袋鼠 RunD 開源的最新 Rust Kata runtime + 內(nèi)置Dragonball 和Go runtime + VMM(本文默認(rèn)安裝了QEMU)兩套架構(gòu)。

目前社區(qū)計(jì)劃在未來 1-2 年的時(shí)間內(nèi)逐步由 Go Runtime 遷移至 Rust Runtime,Rust Kata runtime 是 Kata 社區(qū)未來的發(fā)展方向,在整體資源消耗、啟動(dòng)速度等方面都有明顯優(yōu)勢(shì),同時(shí)提供內(nèi)置沙箱 Dragonball 進(jìn)一步提高使用體驗(yàn),目前還處于快速發(fā)展階段。

本教程默認(rèn)安裝 Rust Kata Runtime + Dragonball,并會(huì)提供簡(jiǎn)易教程幫助您切換到Go Kata Runtime + QEMU,另外,我們提供的 Guest Kernel 基于龍蜥 OS, rootfs 基于專門為容器場(chǎng)景優(yōu)化的 LifseaOS。

01 Kata Container 3.0.0 (Rust Runtime + Dragonball)

RunD 是龍蜥社區(qū)開源的下一代安全容器解決方案,相比于社區(qū)的 Kata 2.0 而言,RunD 最大的特點(diǎn)是提供了基于容器場(chǎng)景深度優(yōu)化的內(nèi)置 Dragonball 沙箱,減少了虛擬化外部依賴,帶給用戶開箱即用的優(yōu)質(zhì)體驗(yàn)。同時(shí)極大提升了整體容器的啟動(dòng)速度;其次通過引入全新的異步 Rust Runtime 機(jī)制,進(jìn)一步降低 Kata 安全容器整體的資源開銷。RunD 目前已開源成為 Kata Containers 社區(qū)上游 3.0 版本標(biāo)準(zhǔn)。之前文章里介紹了 Kata 3.0 背后的設(shè)計(jì)與思考,其中一體架構(gòu)、輕量安全容器虛擬機(jī) Dragonball、異步 Rust Runtime 等創(chuàng)新給 3.0 版本帶來了低資源開銷、極速啟動(dòng)速度、易于運(yùn)維等優(yōu)勢(shì)。

目前,Kata 3.0.0 已經(jīng)在社區(qū)發(fā)布第一個(gè) Release 版本,用戶可以在 Anolis 安裝 Kata 3.0.0 來感受新版本的極速體驗(yàn),我們也測(cè)得了 Kata3.0.0 + 內(nèi)置 Dragonball 相比 Kata 2.4.3 + QEMU 的性能數(shù)據(jù),給到各位更具體的提升效果。

Kata 2.4.3 + QEMUKata 3.0.0 + 內(nèi)置Dragonball
100 容器串行啟動(dòng)時(shí)間56s35s
100 容器并行啟動(dòng)時(shí)間3.7s3.4s
100 容器并行啟動(dòng)內(nèi)存消耗18402764KB9040992KB

*性能數(shù)據(jù)均在本教程中的部署環(huán)境中測(cè)試得到,測(cè)試時(shí)兩個(gè) Kata 使用相同 Guest Kernel 和 Rootfs 等配置。

1、部署環(huán)境

本教程中使用的是阿里云上購買的神龍彈性裸金屬服務(wù)器,您也可以在本地物理機(jī)或其他云環(huán)境中部署 Kata Containers。

*物理機(jī)環(huán)境需要使能硬件虛擬化,虛擬機(jī)環(huán)境需要使能嵌套虛擬化。
內(nèi)核版本:Linux 4.19
CPU:104 [email protected]
內(nèi)存:192GB

2、安裝 Kata3.0.0

龍蜥社區(qū)已經(jīng)集成了 Kata Containers 最新 3.0.0 版本,推薦您使用龍蜥集成的軟件包安裝 Kata Container 3.0.0。龍蜥軟件包會(huì)為您做好默認(rèn) Guest Kernel 配置、默認(rèn) Rootfs 配置、默認(rèn) Kata 配置,幫助您做到真正的開箱即用體驗(yàn)。

2.1 安裝龍蜥 experimental 源

由于目前 Kata Container 3.0.0 在龍蜥源的 experimental repo 中,因此先需要安裝龍蜥的 experimental repo。

yum install anolis-experimental-release

2.2 安裝 Kata Containers 3.0.0

接著,可以在 Experimental repo 中安裝 Kata Containers 3.0.0。

yum --enablerepo Experimental install kata-containers

以上兩步即可安裝好 Kata Containers 3.0.0,并且我們會(huì)為您做好如下默認(rèn)配置,您可以使用它們即刻開始使用 Kata Container,也可以根據(jù)自己的需求進(jìn)行調(diào)整:

  • Kata 默認(rèn)配置

Kata Containers 3.0.0 安裝后,默認(rèn)配置會(huì)在 /usr/share/kata-containers/defaults/configuration.toml 且默認(rèn)虛擬機(jī)管理器 VMM為Dragonball。

  • Guest Kernel 默認(rèn)配置

默認(rèn) Guest kernel 路徑:/usr/share/kata-containers/vmlinux.container

*默認(rèn)安裝的 guest kernel 是基于龍蜥 5.10 Cloud Linux 配合 Kata 社區(qū)推薦 5.10 內(nèi)核參數(shù)制作而成。

  • rootfs 默認(rèn)配置

默認(rèn) rootfs 路徑:/usr/share/kata-containers/kata-containers.img

*默認(rèn)安裝的 rootfs 是基于專門為容器場(chǎng)景優(yōu)化的 LifseaOS。

3、安裝 Containerd

如果您的環(huán)境中沒有 Containerd 或沒有配置 Containerd 的 Kata 運(yùn)行時(shí)支持,請(qǐng)您參考 3、4 節(jié)的內(nèi)容。

3.1 安裝 Containerd

yum --enablerepo Plus install containerd

4、配置 Containerd

當(dāng) Containerd 安裝完成后,您需要修改 Containerd 配置來讓 Containerd 可以找到 Kata 容器運(yùn)行時(shí)。

4.1 生成默認(rèn) Containerd 配置

首先請(qǐng)您進(jìn)入/etc/containerd路徑,這里默認(rèn)會(huì)存放 Containerd 的配置文件 config.toml。如果這個(gè)路徑下沒有配置文件或者配置文件是被全部注釋的缺省狀態(tài),可以使用如下命令生成默認(rèn)配置;如已經(jīng)有完整配置,也可以直接跳到 5.2。

進(jìn)入containerd配置目錄并查看配置情況,若無配置或?yàn)槿孔⑨專梢岳^續(xù)生成默認(rèn)配置ncd /etc/containerd/n# 生成containerd默認(rèn)配置ncontainerd config default > /etc/containerd/config.toml

4.2 配置增加 Kata 容器運(yùn)行時(shí)

接下來,您需要在 Containerd 配置中加入 Kata 容器運(yùn)行時(shí),從而讓 Containerd 運(yùn)作的時(shí)候可以找到 Kata。打開 5.1中 的 Containerd 配置并找到[plugins."io.containerd.grpc.v1.cri".containerd.runtimes],在其下加入新的runtime_type。

# 打開containerd配置并在n# [plugins."io.containerd.grpc.v1.cri".containerd.runtimes]n# 下加入kata runtime的選擇n[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.kata]n runtime_type = "io.containerd.kata.v2"

為了讓您更好理解如何修改配置,我們這邊也給到一份修改完的配置截圖,方便您參考。

同時(shí),我們?yōu)槟鷾?zhǔn)備了一份 Containerd 配置文件示例供您進(jìn)一步參考,您可點(diǎn)擊此處下載:https://gitee.com/chao1997/kata-share/blob/master/config.toml

4.3 重啟 Containerd

最后,重啟 containerd 讓配置生效。

配置完成,重啟 containerd 即可 nsystemctl restart containerd

恭喜您,到這一步跑起 Kata 容器的主要步驟已經(jīng)完成,您后續(xù)可以自由地開始嘗試 Kata,如果您想現(xiàn)在立即就有一個(gè)用例讓 Kata 跑起來,請(qǐng)您繼續(xù)往下看。

5、啟動(dòng) Kata3.0.0 安全容器

5.1 獲取 busybox 鏡像

為了啟動(dòng)安全容器,我們首先需要獲取到一個(gè)鏡像。在這個(gè)教程里,讓我們選用最基礎(chǔ)的鏡像 busybox 吧。

同時(shí),您也可以選用各種你喜歡的 CLI 工具,例如 ctr、nerctl、crictl 等,在本教程中,我們使用了 Containerd 自帶的 ctr。

ctr images pull docker.io/library/busybox:latest

5.2 啟動(dòng) Kata 安全容器

接著,讓我們使用 Kata 啟動(dòng)一個(gè)安全容器,并打出安全容器中的操作系統(tǒng)信息吧。

ctr run --runtime=io.containerd.kata.v2 --rm docker.io/library/busybox:latest kata-test uname -r

--runtime 用于指定容器運(yùn)行時(shí),--rm 代表我們創(chuàng)建好容器、容器運(yùn)行完命令后會(huì)立即銷毀容器, http://docker.io/library/busybox:latest 代表容器的鏡像名,kata-test 代表容器的名稱,最后 uname -r 是我們要在容器中運(yùn)行的命令。

通過以上命令即可打出安全容器中的操作系統(tǒng)版本信息,您可以感受到安全容器內(nèi)運(yùn)行的 Guest OS 和 Host OS 的差異。

02 切換至 Go Runtime + QEMU

目前社區(qū)計(jì)劃在未來 1-2 年的時(shí)間內(nèi)逐步由 Go Runtime 遷移至 Rust Runtime,您如果在使用 Rust Kata Runtime 上遇到功能性問題可以先使用 Go Runtime,下面我們將介紹切換方法。

切換至 Go Runtime 的二進(jìn)制文件

首先,進(jìn)入 Kata Runtime 默認(rèn)二進(jìn)制安裝路徑。

cd /usr/local/bin

接著,用 Go Runtime 二進(jìn)制文件替換 Rust Runtime 二進(jìn)制文件。

遇到overwrite詢問,都請(qǐng)回答y ncp /usr/runtime-go/bin/* .

切換 Kata 配置到 QEMU 配置

進(jìn)入 Kata 配置路徑,并切換配置到 QEMU 配置。

# 進(jìn)入配置路徑ncd /usr/share/defaults/kata-containersn切換配置到QEMU配置nln -sf configuration-qemu.toml configuration.toml

通過以上兩步,您已切換到 go runtime,您可以試著按教程中的 5.1 和 5.2 步驟來啟動(dòng)安全容器。

至此,您的第一個(gè) Kata 3.0.0 安全容器就創(chuàng)建成功啦,您可以繼續(xù)對(duì) Kata3.0.0 展開更多探索,如果有遇到任何問題,歡迎到龍蜥云原生社區(qū)來和我們交流。

小貼士:請(qǐng)注意,安裝包中的 kata-agent 是用于在虛擬機(jī)內(nèi)啟動(dòng)服務(wù)和宿主機(jī)溝通的,在任何情況下請(qǐng)不要在宿主機(jī)上直接啟動(dòng) kata-agent,可能會(huì)對(duì)您的機(jī)器產(chǎn)生破壞。

龍蜥云原生 SIG(Special Interest Group) 助力龍蜥企業(yè)用戶完成云原生轉(zhuǎn)型和升級(jí);面向用戶與企業(yè)提供云原生能力和組件支持,并與廣大開發(fā)者一起構(gòu)建具備競(jìng)爭(zhēng)力的云原生技術(shù),協(xié)助用戶更快、更好地利用云原生技術(shù)構(gòu)建應(yīng)用集群。

龍蜥云原生 SIG 主頁:https://openanolis.cn/sig/cloud-native

原文鏈接

本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。

(責(zé)任編輯:小編)
下一篇:

電廠熱力管道保溫涂料推薦

上一篇:

實(shí)踐教程之如何在 PolarDB-X 中進(jìn)行 Online DDL

打賞
免責(zé)聲明
本文僅代表作者個(gè)人觀點(diǎn),本站未對(duì)其內(nèi)容進(jìn)行核實(shí),請(qǐng)讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,作者需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請(qǐng)及時(shí)聯(lián)系我們