在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

iSulad+Kuasar+StratoVirt安全容器解決方案的使用介紹

openEuler ? 來源:openEuler ? 2023-11-20 17:00 ? 次閱讀

概述

Kuasar 是今年華為在 CNCF 峰會上發布的支持多種沙箱隔離技術的容器運行時 [1],可以在單個節點上運行多種不同類型的沙箱容器;同時采用了 1:N 的容器進程管理模型,對比當前 Shim 進程 1:1 的設計,在容器并發時能夠提升啟動速度 2 倍以上、并節省容器管理進程 99% 的內存增量。Kuasar 基于 Sandbox API [2] 接口開發,區別于當前的 Shim v2 接口,對沙箱的生命周期管理具有內存消耗小、調用鏈簡短等優勢。

openEuler 社區通過 iSulad 組件率先完成了對 Sandbox API 的支持,并在近日發布的 openEuler 23.09上內置了 Kuasar,用戶可以一鍵部署 iSulad+Kuasar+StratoVirt 這一套極速輕量的安全容器解決方案 [3]。關于 iSulad+Kuasar 統一容器運行時解決方案的架構和所帶來的優勢,可參考上一篇系列文章 [4]。

本文將詳細介紹該解決方案的安裝與使用方式,支持用戶快速上手。

d5825bb0-7324-11ee-939d-92fbcf53809c.png

圖 1iSulad+Kuasar+StratoVirt 安全容器解決方案架構

安裝與配置

說明:kuasar 的安裝和使用均需要 root 權限。

前提條件

1. 為了獲取更好的性能體驗,該方案需要運行在裸金屬服務器上,暫不支持運行在虛擬機內。

2. 安裝 openEuler 23.09 操作系統

3. 安裝啟動沙箱及容器需要使用的 cri 命令行工具 crictl 。

#arm環境
$ wget https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.25.0/crictl-v1.25.0-linux-arm64.tar.gz
$ tar -zxvf crictl-v1.25.0-linux-arm64.tar.gz -C /usr/local/bin
#x86環境
$ wget https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.25.0/crictl-v1.25.0-linux-amd64.tar.gz
$tar-zxvfcrictl-v1.25.0-linux-amd64.tar.gz-C/usr/local/bin

4. 安裝配置網絡需要使用的 cni 插件。

#創建cni目錄
$mkdir-p/opt/cni/bin&&mkdir-p/etc/cni/net.d 
# arm環境
$ wget https://github.com/containernetworking/plugins/releases/download/v1.3.0/cni-plugins-linux-arm64-v1.3.0.tgz
$ tar -zxvf cni-plugins-linux-arm64-v1.3.0.tgz -C /opt/cni/bin/
#x86環境
$ wget https://github.com/containernetworking/plugins/releases/download/v1.3.0/cni-plugins-linux-amd64-v1.3.0.tgz
$ tar -zxvf cni-plugins-linux-amd64-v1.3.0.tgz -C /opt/cni/bin/

一鍵安裝

通過下述指令可以在 openEuler 23.09 上一鍵安裝 iSulad、kuasar 和 stratovirt 組件:

$ yum install iSulad kuasar stratovirt

組件配置

crictl 命令行工具的配置

修改 crictl 配置文件 /etc/crictl.yaml 以對接 isulad

$ cat /etc/crictl.yaml
runtime-endpoint: unix:///var/run/isulad.sock
image-endpoint: unix:///var/run/isulad.sock

iSulad容器引擎的配置

修改 iSulad 容器引擎的配置文件 /etc/isulad/daemon.json ,以支持 iSulad 調用 kuasar 啟動 vmm 類型的 sandbox ,需在配置文件中新增如下字段:

$ cat /etc/isulad/daemon.json
...
    "cri-sandboxers": {
        "vmm": {
            "name": "vmm",
            "address": "/run/vmm-sandboxer.sock"
        }
    },
    "cri-runtimes": {
        "vmm": "io.containerd.vmm.v1"
    },
...

保存后重新啟動 iSulad 服務

$ systemctl restart isulad

之后可通過指令 `systemctl status iSulad` 確認 iSulad 服務已處于 running 狀態

kuasar的配置

修改對接 stratovirt 的 kuasar 配置文件(可直接使用 kuasar rpm 包安裝好后的默認配置,路徑位于 /var/lib/kuasar/config_stratovirt.toml )

$cat/var/lib/kuasar/config_stratovirt.toml
[sandbox]
log_level = "info" #指定kuasar日志級別,默認為info


[hypervisor]
path = "/usr/bin/stratovirt" #指定stratovirt二進制路徑
machine_type = "virt,mem-share=on" #指定模擬芯片類型,ARM架構為virt,x86架構為q35
kernel_path = "/var/lib/kuasar/vmlinux.bin" #指定guest kernel執行路徑
image_path = "" #指定guest image執行路徑
initrd_path = "/var/lib/kuasar/kuasar.initrd" #指定guest initrd執行路徑,與image二選一
kernel_params = "task.log_level=debug task.sharefs_type=virtiofs" #指定guest內核運行參數
vcpus = 1 #指定每個沙箱的默認vCPU數量,默認為1
memory_in_mb = 1024 #指定每個沙箱的默認內存大小,默認為1024 MiB
block_device_driver = "virtio-blk" #指定塊設備驅動
debug = true #指定是否開啟debug模式
enable_mem_prealloc=false#指定是否開啟內存預占


[hypervisor.virtiofsd_conf]
path = "/usr/bin/vhost_user_fs" #指定vhost_user_fs路徑

保存后重新啟動 kuasar-vmm 服務

$ systemctl restart kuasar-vmm

之后可通過指令 `systemctl status kuasar-vmm` 確認 kuasar-vmm 服務已處于 running 狀態

部署沙箱與容器

啟動沙箱與容器

以上配置完畢后,可以使用 crictl 命令行部署 pod 沙箱和容器,操作步驟如下:

1. 準備 pod 和 container 的 yaml 配置文件,范例如下:

 $ cat podsandbox.yaml
metadata:
     name: busybox-sandbox
     namespace: default
     uid: hdishd83djaidwnduwk28bcsc
log_directory:/tmp
linux:
     namespaces:
       options: {}


 $ cat pod-container.yaml
metadata:
     name: busybox
image:
image:docker.io/library/busybox:latest
command:
-top
log_path:busybox.log

2. 通過 `crictl run`命令啟動一個 pod 以及對應的業務容器,指定 runtime 為 vmm

$ crictl run -r vmm container-config.yaml podsandbox-config.yaml

3. 查看 pod 列表,pod 為 Ready 狀態

 $ crictl pods
PODIDCREATEDSTATENAMENAMESPACEATTEMPT
5cbcf744949d8AboutaminuteagoReadybusybox-sandboxdefault1

查看容器列表,容器為 Running 狀態

$ crictl ps
CONTAINERIMAGECREATEDSTATENAMEATTEMPTPODID
c11df540f913edocker.io/library/busybox:latest2minutesagoRunningbusybox05cbcf744949d8

至此,pod 和容器已啟動完畢,均處于運行狀態。

檢驗沙箱與容器

進入 pod 沙箱的 shell 環境進行調試:

# 查看獲取pod對應stratovirt進程內的vsock guest-cid
$ ps -ef | grep stratovirt | grep 5cbcf744949d8
/usr/bin/stratovirt -name sandbox-5cbcf744949d8500e7159d6bd1e3894211f475549c0be15d9c60d3c502c7ede3 ...
-device vhost-vsock-pci,id=vsock-395568061,guest-cid=395568061,bus=pcie.0,addr=0x3,vhostfd=3
...
# 使用ncat命令進入沙箱shell
$ yum install -y nmap && ncat --vsock 395568061 1025
bash-6.4#

測試 pod 網絡連接:

# 在pod shell環境內執行
bash-6.4# ip addr show
1: lo:  mtu 65536 qdisc noqueue qlen 1000
    link/loopback 000000:00 brd 000000:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 429239:9f brd ffffff:ff
    inet 172.19.0.240/24 brd 172.19.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80:92ff399f/64 scope link
       valid_lft forever preferred_lft forever
# 測試pod與主機之間網絡連通性(172.19.0.1為主機上的網關)
bash-6.4 #ping172.19.0.1
PING 172.19.0.1 (172.19.0.1): 56 data bytes
64 bytes from 172.19.0.1: seq=0 ttl=64 time=0.618 ms
64 bytes from 172.19.0.1: seq=1 ttl=64 time=0.116 ms
64 bytes from 172.19.0.1: seq=2 ttl=64 time=0.152 ms

能夠觀察到,pod 已經正常工作起來并已經完成與外部主機的連通。

以上創建 pod 沙箱的過程并沒有新增 shim 進程,而是在 kuasar 提供的 vmm-sandboxer 進程內部新增了 sandbox 實例實現的。通過下述方式也可以查看 kuasar 與虛擬化引擎 stratovirt 的聯系。查看該容器 pod 所對應 stratovirt 進程,其 kernel 與 initrd 等路徑均與 kuasar 配置文件中指定的一致。

$ ps -ef | grep stratovirt | grep 5cbcf744949d8
/usr/bin/stratovirt -name sandbox-5cbcf744949d8500e7159d6bd1e3894211f475549c0be15d9c60d3c502c7ede3...-kernel 
/var/lib/kuasar/vmlinux.bin -initrd /var/lib/kuasar/kuasar.initrd...

同時該 pod 沙箱與主機側通信的 sock 套接字、日志等文件均位于 kuasar 路徑下:

$ ls -al /run/kuasar-vmm/5cbcf744949d8500e7159d6bd1e3894211f475549c0be15d9c60d3c502c7ede3/
console.sock
sandbox-5cbcf744949d8500e7159d6bd1e3894211f475549c0be15d9c60d3c502c7ede3.log
sandbox-5cbcf744949d8500e7159d6bd1e3894211f475549c0be15d9c60d3c502c7ede3.pid
...

以上就是 iSulad+Kuasar+StratoVirt 安全容器解決方案的使用介紹,更多關于 Kuasar 的使用可以進入 openEuler 官網查看 [5]。

后續 CloudNative SIG 將繼續對 iSulad 實現 Sandbox API、Kuasar 支持 wasm 等特性進行詳細介紹,敬請期待!

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8598

    瀏覽量

    151156
  • 操作系統
    +關注

    關注

    37

    文章

    6825

    瀏覽量

    123331
  • 容器
    +關注

    關注

    0

    文章

    495

    瀏覽量

    22061
  • openEuler
    +關注

    關注

    2

    文章

    313

    瀏覽量

    5877

原文標題:openEuler 23.09 一鍵部署基于 Kuasar 的極速輕量安全容器

文章出處:【微信號:openEulercommunity,微信公眾號:openEuler】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    立體智慧倉儲解決方案.#云計算

    解決方案智能設備
    學習電子知識
    發布于 :2022年10月06日 19:45:47

    安全容器的發展與思考

    。所以,針對未修改的應用的安全容器方案就落在了中間兩種方案——MicroVM 和進程虛擬化上,前者是使用了輕量級虛機和裁剪過的 Linux 內核,在保證兼容性的前提下盡量降低運行時和維
    發表于 09-29 15:51

    求一款視頻監控/安全系統的解決方案

    本文介紹了一種基于FPGA的視頻監控/安全系統的解決方案
    發表于 04-29 07:17

    關于NXP汽車安全解決方案介紹(一)

    這次交流會將展示汽車安全和NXP汽車安全解決方案。NXP提供各種支持汽車安全規范的MCU,包括支持安全硬件擴展(SHE)標準, GM glo
    的頭像 發表于 06-28 17:40 ?5161次閱讀

    介紹基于ISO26262安全計算平臺解決方案

    英飛凌基于ISO26262安全標準的安全計算平臺的解決方案介紹
    的頭像 發表于 07-11 01:24 ?4443次閱讀

    品高軟件:iSula+StratoVirt輕量虛機容器解決方案

    歐拉openEuler Summit 2021直播會上,品高軟件生態總監王彥文給我們介紹了iSula+StratoVirt輕量虛機容器解決方案
    的頭像 發表于 11-10 10:22 ?1372次閱讀
    品高軟件:iSula+<b class='flag-5'>StratoVirt</b>輕量虛機<b class='flag-5'>容器</b><b class='flag-5'>解決方案</b>

    openEuler Summit開發者峰會:iSula+StratoVirt輕量虛機容器解決方案展示

    openEuler Summit開發者峰會:iSula+StratoVirt輕量虛機容器解決方案展示
    的頭像 發表于 11-10 10:46 ?1482次閱讀
    openEuler Summit開發者峰會:iSula+<b class='flag-5'>StratoVirt</b>輕量虛機<b class='flag-5'>容器</b><b class='flag-5'>解決方案</b>展示

    歐拉(openEuler)Summit 2021:歐拉demo分享——iSula + StratoVirt

    歐拉(openEuler)Summit 2021上,關于iSula + StratoVirt輕量虛機容器解決方案分享。 以及iSula+ StratoVirt與品高
    的頭像 發表于 11-10 10:39 ?1324次閱讀
    歐拉(openEuler)Summit 2021:歐拉demo分享——iSula + <b class='flag-5'>StratoVirt</b>

    StratoVirt中vCPU管理模塊的組成及位置

    StratoVirt是開源在openEuler社區的輕量級虛擬化平臺,具備輕量低噪、強安全性的行業競爭力。
    的頭像 發表于 12-20 15:41 ?1920次閱讀

    StratoVirt 中的 balloon 設備介紹

    StratoVirt 是計算產業中面向云數據中心的企業級虛擬化 VMM,實現了一套架構統一支持虛擬機、容器、Serverless 三種場景。StratoVirt 在輕量低噪、軟硬協同、Rust 語言級
    的頭像 發表于 12-21 14:56 ?2179次閱讀

    iSulad云原生輕量級容器解決方案

    ./oschina_soft/gitee-iSulad.zip
    發表于 05-10 10:30 ?1次下載
    <b class='flag-5'>iSulad</b>云原生輕量級<b class='flag-5'>容器</b><b class='flag-5'>解決方案</b>

    Nexus Container:容器安全解決方案

    成功部署容器意味著平衡穩健的安全實踐、敏捷的DevOps團隊需求和法規遵從性需求。NexusContainer無所不能-幫助您的開發、安全和操作團隊在整個容器生命周期中發現、持續監控和
    的頭像 發表于 08-18 16:11 ?1080次閱讀

    openEuler開源項目iSulad加入 CNCF Landscape

    加萊實驗室發起, 于2019年在 openEuler 社區開源。相比之前的容器引擎方案iSulad具備高性能、低開銷、多場景支持等優點。為了更好地豐富云原生生態、以及打通開放原子基金會和 CNCF 基金會的聯系,開放原子基金會
    的頭像 發表于 01-07 10:43 ?1546次閱讀

    iSulad+Kuasar:管理面資源消耗銳減99%的新一代統一容器運行時解決方案

    容器引擎(Container Engine)主要負責容器運行環境的創建、容器資源的配置和容器生命周期的管理,北向接收來自于 Kubernetes 或前端命令行的輸入,南向則調用底層
    的頭像 發表于 04-27 15:00 ?1117次閱讀
    <b class='flag-5'>iSulad+Kuasar</b>:管理面資源消耗銳減99%的新一代統一<b class='flag-5'>容器</b>運行時<b class='flag-5'>解決方案</b>

    iSulad Sandbox API簡化容器調用鏈

    沙箱隔離技術是一種將進程隔離到獨立環境中運行的技術,可以有效地隔離進程間的相互影響,提高系統的安全性。隨著容器技術的興起,沙箱隔離技術也在云原生領域中得到了廣泛的應用。例如容器編排組件
    的頭像 發表于 11-20 17:08 ?628次閱讀
    <b class='flag-5'>iSulad</b> Sandbox API簡化<b class='flag-5'>容器</b>調用鏈
    主站蜘蛛池模板: 天天综合亚洲国产色| 色惰网站| 91久久福利国产成人精品| 免费看黄的视频网站| 欧美一级欧美三级| 午夜精品久久久久久毛片| 韩国理论片在线看2828dy| 天堂资源站| 艹逼视频免费看| 欧美一级特黄aa大片| 站长工具天天爽视频| 国产男靠女免费视频网站| 天堂网在线视频| 182福利视频| 97影院午夜午夜伦不卡| 日本黄色免费看| 天天干天天操天天干| 老司机精品免费视频| 五月天丁香花婷婷| 欧美日韩一区二区视频图片| 天天综合在线观看| 女人本色高清在线观看wwwwww国产| 欧美成人精品一区二区| 欧美久久天天综合香蕉伊| 国产叼嘿免费视频网站| 国产色产综合色产在线观看视频| avtom影院永久地址人人影院| 四虎国产永久在线精品免费观看| ww欧洲ww在线视频免费观看| miya亚洲私人影院在线| 起碰成人免费公开网视频| 欧美成人性色生活片天天看| 一级特黄aaa大片免色| 国产成人精品男人的天堂538| 88av在线视频| 青草青青产国视频在线| 免费观看国产网址你懂的| 天堂资源www天堂在线| 中文字幕天天干| 老师喂我吃她的奶水脱她胸罩| 国产一卡二卡3卡4卡四卡在线 |