Kubernetes1.7新特性:支持绕过docker,直接通过containerd管理容器

从 Docker 1.11 版本开始,Docker 引入了 containerd 和 runC 来管理容器。Kubernetes 1.7 版本新增了一项特性,即直接通过 containerd 管理容器,这一改变不仅提高了系统效率,还减少了资源消耗,使系统更加开放。

从Docker1.11版本开始,Docker依赖于containerd和runC来管理容器,containerd是控制runC的后台程序,runC是Docker公司按照OCI标准规范编写的一个操作容器的命令行工具,containerd这个后台程序还可以操作满足OCI标准规范的其他容器工具,也就意味着以后只要是按照OCI标准规范开发的容器工具,都可以被containerd使用起来。使用containerd好处是,当docker daemon或者containerd两个进程crash后,应用容器不会“死掉”,未来要是实现的功能是,当containerd daemon重新启动后可以同应用容器重新建立连接。

从Docker1.11版本开始,daemon模块调用关系图如下:

pod

美国时间12月14日,Docker公司宣布将containerd从Docker Engine中分离,并捐赠到一个新的开源社区独立发展和运营,阿里云,AWS, Google,IBM和Microsoft作为初始成员,会为项目提供贡献和维护人员。

1.7新特性—-支持绕过docker,直接通过containerd管理容器
在Kubernetes1.7中,增加了直接通过调用containerd来管理容器的α新特性。

POD01

从上图中可以明显的看出来绕过docker,直接通过containerd管理容器,可以节省一个操作步骤,那么这样会带来很多好处:

1、  由于减少了一个操作步骤,提高了系统效率,并且系统更易于维护。

2、  取消了DockerDaemon,整个系统占用的资源更少了,可以给业务使用的资源变多了。

3、  不依赖DockerDaemon,整个系统更加开放。

4、  由于kubelet并没有变化,那么不影响以前用户使用。

要让kubernetes直接通过containerd管理容器,需要下面几个步骤:

1、  安装:containerd:v0.2.3-1098-g8ed1e24

2、  安装runc:v1.0.0-rc3

3、  安装cni: v0.4.0

4、  按照kubernetes:v1.7.0以及以上版本

5、  在kubernetes集群中配置

CONTAINER_RUNTIME=remoteCONTAINER_RUNTIME_ENDPOINT=’/var/run/cri-containerd.sock’./hack/local-up-cluster.sh,其中“CONTAINER_RUNTIME=remote”就表示使用containerd直接管理容器。

目前支持如下基本功能:

1、  POD级别Sandbox和container生命周期管理

2、  镜像管理

3、  Sandbox网络管理

4、  容器日志管理

5、  在容器中执行命令

原文
http://blog.youkuaiyun.com/horsefoot/article/details/74535647

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值