Kata Container 2.x 和 3.0 安装,内核编译,镜像制作
文章目录
- kata container
- 安装
- 2.x 版本
- 3.0
- Rust
- Musl libc
- 编译安装
- 创建对应 runtimeclass
- 内核编译
- 镜像制作
- rootfs
- image
kata container
2.x 介绍
3.0 介绍
安装
2.x 版本
Kubernetes 环境中可以使用 kata-deploy 进行安装
$ kubectl apply -f https://raw.githubusercontent.com/kata-containers/kata-containers/main/tools/packaging/kata-deploy/kata-rbac/base/kata-rbac.yaml
$ kubectl apply -f https://raw.githubusercontent.com/kata-containers/kata-containers/main/tools/packaging/kata-deploy/kata-deploy/base/kata-deploy.yaml
创建 runtimeclass
$ kubectl apply -f https://raw.githubusercontent.com/kata-containers/kata-containers/main/tools/packaging/kata-deploy/runtimeclasses/kata-runtimeClasses.yaml
在 yaml 中 spec 下添加 runtimeClassName: kata-qemu
即可使用
3.0
3.0 当前只支持默认的 Dragonball
做为 hypervisor.
Rust
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ source $HOME/.cargo/env
$ rustup install 1.58
$ rustup default 1.58-x86_64-unknown-linux-gnu$ rustup target add x86_64-unknown-linux-musl
Musl libc
$ wget https://git.musl-libc.org/cgit/musl/snapshot/musl-1.2.3.tar.gz
$ tar vxf musl-1.2.3.tar.gz
$ cd musl-1.2.3/
$ ./configure --prefix=/usr/local/
$ make && sudo make install
编译安装
$ git clone https://github.com/kata-containers/kata-containers.git
$ cd kata-containers/src/runtime-rs
$ make && make install
参考 rust install
创建对应 runtimeclass
创建 yaml 并 apply
kind: RuntimeClass
apiVersion: node.k8s.io/v1
metadata:name: kata
handler: kata
scheduling:nodeSelector:katacontainers.io/kata-runtime: "true"
在 yaml 中 spec 下添加 runtimeClassName: kata
即可使用
make install 后配置文件在 /usr/share/defaults/kata-containers/configuration.toml
内核编译
当时做 sriov 和 vhost-user 时需要内核支持,重新编译内核,加入 mlx5_core 和 uio 驱动
编译需要依赖包,yq 需要使用 pip3 安装,系统包 flex,jq,bison,openssl-devel;’不同的系统 ncurses-devel or libncurses-dev
$ cd kata-contaners/tools/packaging/kernel// 下载内核包
$ ./build-kernel.sh setup$ cd kata-linux-5.15.26-90// 图形页面
$ make menuconfig
uio_pci_geniric 在 device driver > Userspace I/O drivers
mellanox 在 device driver > network device support > Ethernet driver support > Mellanox devices
build kernel
$ cd ..
$ ./build-kernel.sh build
在 kata-linux-5.15.26-90 可以看到编译好的内核文件
镜像制作
由于 image 需要一些额外的包进行测试使用,需要自己制作
使用 ubuntu
rootfs
$ cd kata-containers/tools/osbuilder// 将想要安装的包写入
$ export EXTRA_PKGS="gcc make curl gnupg coreutils apt tar kmod pkg-config libc-dev libc6-dev pciutils iproute2 bind9-utils util-linux ethtool"// 也可以 USE_PODMAN=true
$ make USE_DOCKER=ture image 2>&1 | tee logimage.txt
image
$ make USE_DOCKER=ture rootfs 2>&1 | tee logrootfs.txt
可以看到 kata-containers.img 镜像
Kata Container 2.x 和 3.0 安装,内核编译,镜像制作相关推荐
- VC++6.0安装、编译NTL类库
前言 为了解决大数运算的问题,世界各国的软件开发人员和研究学者都进行了很多 的研究和实践.近年来,越来越多的开发人员开始重视软件工程的作用,为了减少 重复劳动,提高软件的质量和代码复用,许多优秀的大数 ...
- iTop4412---linux 3.0.15内核编译错误
ARM开发板:iTop4412 内核版本:linux 3.0.15 交叉编译器:arm-2014.05 主机:Ubuntu 16 错误1: CC arch/arm/mach-exynos/cpu-ex ...
- sata3.0 linux内核,编译Linux内核3.0系统出现的警告信息
[www.linuxidc.com @linux linux-3.0]$gcc --version gcc (GCC) 4.6.1 Copyright © 2011 Free Software Fou ...
- 基础IO(文件接口、安装内核源码超详细步骤图解、静态库与动态库)
基础IO C语言的文件操作接口 fopen fclose fread fwrite fseek 系统调用文件接口 open close read write lseek 安装内核源码 文件描述符&am ...
- Linux 0.11内核分析02:系统启动
目录 1. 内核镜像的构建 1.1 内核源码结构 1.1.1 boot 1.1.2 fs 1.1.3 include 1.1.4 init 1.1.5 kernel 1.1.6 lib 1.1.7 m ...
- arch linux编译,ArchLinux内核编译与安装
为什么要编译内核?在Gnome桌面环境下,不知什么原因,nouveau显示驱动总是会出现问题.然而尝试着禁掉它,却都没啥作用,只能从内核层面剔除nouveau. 大致步骤: 获取Linux内核源码 解 ...
- APOLLO 6.0安装教程
以下是百度官方的安装说明,必须要在ubuntu18.04以上操作系统才可以完成. nav_ic_arrowhttps://apollo.baidu.com/community/Apollo-Homep ...
- 【apollo6.0安装全教程】
apollo6.0(开发版)安装教程 可能全网最全! 0关于apollo安装的版本提示! 1电脑推荐配置!!非常重要!! 2安装ubuntu系统 3安装NVIDIA GPU 驱动 4换国内源 5安装d ...
- Debian 6.0 安装过程 及中文乱码
2019独角兽企业重金招聘Python工程师标准>>> Debian 6.0 安装过程 Debian 6.0 安装过程 转(一个别人自录的安装过程录相) http://v.youku ...
- ESXi6.5环境搭建(三:vSphere Client6.0安装)
实验目的及要求 完成VMware workstations安装,会应用相关操作: 完成虚拟机中ESXI6.5平台的安装及网络环境配置: 完成VMware vSphere Client 6.0软件在PC ...
最新文章
- git_修改git历史提交记录
- MySql UBUNTU下复制配置
- 0401互联网新闻 | 企业微信新版发布;阿里巴巴发布“AI谣言粉碎机”
- scrapy使用cookie的三种方式
- 新的开始 和一些总结
- for循环,定时器,闭包混合一块的那点事。
- 编译安装Mysql5.6.36
- ntp如何确认与服务器偏差_CDH集群时钟偏差问题
- 手机端与pc端页面html5,浅谈pc和移动端的响应式的使用
- 什么样的终端才是最合适桌面虚拟化的呢?
- 2020年六十款数据分析的可视化工具推荐
- Java —— EJB 到底是什么
- matlab解方程 中det,matlab中det函数
- 1.1微信支付之现金红包 - Java 开发
- QQ邮箱的POP3与SMTP服务器是什么?
- php怎么显示不了图片,php显示不了图片的解决办法,
- 锥度用计算机怎么算,大小头体积,表面积,锥度,展开圆心角,质量计算公式与在线计算器_三贝计算网_23bei.com...
- Java做简单的界面
- 正则表达式 - Python 正则表达式 学习笔记 最全整理
- esp32-pico-d4问题