武建勇-arm · 2019年11月14日

如何在树莓派4上安装kata-container

kata-container是目前比较热门的安全容器项目,目前kata-container已经支持在arm64平台上运行。如果你想在arm64平台上运行kata除了租借arm的云服务器外树莓派4是更为经济的选择。这里需要注意的是kata只能跑在pi4上,因为kata需要gic的支持,而目前只有pi4支持gic。
1、准备工作:
一台树莓派4,一台运行linux的pc。

2、给树莓派安装系统:
现在ubuntu官网已经支持树莓派4,可以直接下载到。
下载网址:https://ubuntu.com/download/i...
也可以在你的linux机器上直接运行:
wget http://cdimage.ubuntu.com/releases/19.10/release/ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz?_ga=2.109609350.2005558416.1573708404-1879943174.1542798252

解压:
xz -d ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz?_ga=2.27378748.1809811254.1571712963-1879943174.1542798252

修改一些配置
kpartx -av ubuntu-19.10-preinstalled-server-arm64+raspi3.img
mount /dev/mapper/loopxp2 /mnt //x代表对应loop号(number)
mount /dev/mapper/loopxp1 /mnt/boot/firmware
cd /mnt/firmware
打开usercfg.txt将total_mem改小至3072(如果你的机器是4G RAM就需要这一步,数字不是绝对的,可以尝试改大)
vim /mnt/etc/shadow
将root后面的hash值替换成你pc上对应的值,这样开机启动后的密码就跟你本机一致了。
umount /mnt
kpartx -dv ubuntu-19.10-preinstalled-server-arm64+raspi3.img
现在镜像已经有了,可以直接烧进sd卡。将读卡器插入pc,假设显示dev盘符是/dev/sdb
dd if=ubuntu-19.10-preinstalled-server-arm64+raspi3.img of=/dev/sdb
等待装载完成后就把sd卡插入pi4.上电,进入系统。

3、安装kata-container
安装一下必要的工具
apt update && apt install -y wget git gcc make vim
安装最新的golang
https://golang.org/dl/
wget https://dl.google.com/go/go1....
tar -xvf "*.gz"
mv go /usr/local/
echo "export GOPATH=/go" /root/.bashrc
echo "export GOROOT=/usr/local/go/" /root/.bashrc
$PATH=$PATH:/usr/local/go/bin
安装docker
apt isntall -y docker.io
下载kata-container源码及安装
git clone github.com/kata-containers/tests
cd $GOPATH/src/github.com/kata-containers/tests/.ci
./install_kata.sh
将kata-runtime加入docker的runtime。
打开 /lib/systemd/system/docker.service在dockerd的参数后面加上"--add-runtime kata-runtime"
重启docker
systemctl restart docker
运行kata
docker run -it --runtime kata-runtime ubuntu bash

enjoy!

推荐阅读
关注数
2
文章数
1
arm opensource software engineer, working on container tech.
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息