kubernetes1.2如何操作Docker
来源:互联网 发布:数据库被标记为suspect 编辑:程序博客网 时间:2024/06/08 10:11
本次分析的kubernetes版本号:v1.2.1-beta.0。
Kubernetes对Docker的管理是通过一个第三方组件实现的,这个第三方组件就是go-dockerclient,这是一个GO语言写的docker客户端,支持Docker remote API,这个项目在https://github.com/fsouza/go-dockerclient中,感兴趣的话可以去看看。
go-dockerclient调用Docker remote API来操作Docker,在Kubernetes1.2中要求Docker Remote API版本至少是1.18,下面是Docker Daemon版本同Docker Remote API版本对应关系,从中可以看出来使用Kubernetes1.2可以管理1.6.x以上版本的Docker。
下面表格第一列是Docker官网上Docker Remote API 1.22版本,第二列是go-dockerclient中使用到的Docker remote API,第三列是kubernetes1.2中使用到的Docker remote API,从这个列表就可以看到kuberneters1.2都调用了哪些Docker接口,以及可以实现Docker哪些功能。
从表格中可以看到,kubernetes没有使用到Docker的网络接口,也没有使用到Docker的卷接口,原因是kubernetes自己定义了Service和POD,自己实现了POD之间的网络和挂载到POD上的卷。
从表格中也可以看到,kubernetes对Docker容器的管理只有很少的功能,甚至都没有使用到Docker的重启接口,还是因为kubernetes自己定义的POD,kubernetes以POD为基本操作单元,而且是kubernetes从容器集群管理角度设计的,所以不存在对POD里面单个Docker容器的重启操作。
那么我们可以用下面这张图来把POD和容器之间的关系形象化,此图仅供说明问题时的参考,并无实际意义。
我们可以把POD看作是机器里面的操作系统,把容器看作是里面的进程,在操作系统内部进程间是可以通过IPC(Inter-Process Communication)进行通讯的,不同操作系统之间的进程是通过操作系统IP和端口进行通讯的,那么对应到POD和容器,就变成了POD内部容器间事可以通过IPC(Inter-Process Communication)进行通讯的,不同POD之间的容器是通过POD IP和端口进行通讯的。从集群的角度来考虑问题,kubernetes基本操作单元是POD,不需要关注到POD中的容器,那么我们可以想象一下,如果我们要按照虚拟机的使用方式来使用容器,那样的话应该如何使用kubernetes呢?可以看下面的图。
这样我们就实现了像虚拟机那样使用容器,我们可以认为POD就是一个虚拟机,只不过在这个虚拟机中只有一个容器。但是如果要对这个虚拟机进行操作的时候我们发现问题来了,从前面的表格中可以看到,kubernetes对Docker容器的管理只有很少的功能,没有使用到Docker的重启接口,但是如果把容器当作虚拟机用,必然要使用重启功能,抛开kubernetes的设计理念,我们自己可以扩展kubernetes对POD重启的实现,实现把容器当作虚拟机来使用的需求。
- kubernetes1.2如何操作Docker
- kubernetes1.3:操作Docker
- Kubernetes1.2如何使用iptables
- Kubernetes1.2如何使用iptables
- Kubernetes1.2 集群部署
- kubernetes1.2部署
- kubernetes1.4新特性:支持Docker新特性
- Docker Kubernetes1.5.2集群环境搭建(CentOS)
- kubernetes1.8.4安装指南 -- 3. 安装docker ce
- 手动搭建Kubernetes1.8高可用集群(3)Docker
- Kubernetes1.2中的卷插件
- Kubernetes1.2新功能介绍:DaemonSet
- kubernetes1.2认证鉴权
- docker 操作
- docker操作
- Kubernetes1.2新特性分析(一)
- Kubernetes1.2新特性分析(二)
- Kubernetes1.2引用第三方项目
- Action三种实现方式及各自特点
- 推荐给开发者的11个PHP框架
- java的自动装箱和自动拆箱
- 游标循环体中使用select into赋值可能导致提前退出
- 【NOIP2015】运输计划 差分数组+线段树+树链剖分
- kubernetes1.2如何操作Docker
- jquery 之validate 笔记(转载)
- emmet使用(HTML)
- 剑指offer之面试题25:二叉树中和为某一值的路径
- BOM对象
- pajek的net文件格式
- windows系统下链接linux系统
- 随机访问文件的读取和写入对象:RandomAccessFileDemo
- DOM