docker隔离升级版容器实现 kata-containers一个新的虚拟机容器

626 阅读1分钟
原文链接: www.maogx.win

简介

kata-containers是新的虚拟机实现,可以实现和现在容器生态无缝连接,与时下最流行的容器编排工具k8s完美结合,提供容器的快速启动,和虚拟机的安全隔离,与docker技术相比,容器之间不共用内核,使得隔离性更好。

kata与docker对比图

与传统容器对比

架构图

安装

本实验在centos7环境下

安装docker

yum -y install yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce

安装kata-containers

source /etc/os-release
echo $VERSION_ID
VERSION_ID=$VERSION_ID yum-config-manager --add-repo \
"http://download.opensuse.org/repositories/home:/katacontainers:/release/CentOS_${VERSION_ID}/home:katacontainers:release.repo"
yum -y install kata-runtime kata-proxy kata-shim

配置docker

mkdir -p /etc/systemd/system/docker.service.d/
cat <<EOF | sudo tee /etc/systemd/system/docker.service.d/kata-containers.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -D --add-runtime kata-runtime=/usr/bin/kata-runtime --default-runtime=kata-runtime
EOF

启动docker

systemctl daemon-reload
systemctl restart docker

查看机器是否支持kata-containers

kata-runtime kata-check

# 经过测试使用virtualbox创建的虚拟机来进行实验都不能成功
# 因为virtualbox创建的虚拟机,不允许在虚拟机里再使用虚拟化
# 而kata-containers需要使用虚拟化
# 虽然使用vmware创建的虚拟机使用些步骤检查时,仍然会报部分错误
# 但是依然可以成功启动容器

使用测试

# 启动
docker run -d busybox sh -c 'sleep 9999999'

# 查看
docker ps

# 查看qemu
ps -ef | grep qemu

# 可以看到启动了一个轻量的虚拟机