刚才我们创建了一个资源叫做pod,这个pod现在是所有人处于运行状态,
但是这个pod资源到底是什么?它是容器?
为什么我们在改配置文件的时侯需要加上这个?如下图所示
我们来看一下,在pod资源里面跑了一个业务容器,nginx,看一下它的地址
跑在10.0.0.13上的容器的网段都是59网段,上图所示,回到master节点查看起的第一个容器,所以容器的ip地址为172.16.59.2,
它所在的node节点名称是10.0.0.13,
接下来我们在这上面curl 一下,看是否能访问,我们在里面跑了一个nginx,试一下,能访问。
现在访问这个172.16.59.2这个ip容器地址,返回来了nginx服务,我访问的就是pod的ip地址,
接下来我们来看一下10.0.0.13node2节点上起了几个容器,docker ps,起了两个容器,
这两个容器之间有什么关系?
刚才访问nginx服务的时候用的是pod的ip地址,
一个ip地址,但是有两个容器,
到底谁是这个ip地址,我们来查看一下,
另外一个容器没有ip,我们来看一下,
直接回车,什么已没有
那是因为它的网络模式是一种什么类型,假如docker有4种网络类型,这里面它用的网络模式是container类型,
用的是谁的网络?
它用的是pod的网络,隔离区的网络,他们两个共用网络,两个容器共用一个网络,之前讲网络类型的时候有这么种网络类型,他们共用网络,共用网络的一个特点就是这个端口谁先占就归谁,第一个容器他把pod起来之后,一个端口都不占,没有端口,
它这个服务仅仅是让它能够夯住,但是它不起服务
在上面这里面它跑的就是服务了,
为什么在k8s里面起一个pod资源,却要创建两个容器,对不对,为什么不直接起一个nginx?而非得起一个pod?
我们的想法是直接起一个nginx就得了,调用一个nginx就行了,为什么多起了个pod,pod上面有ip,而nginx上面没有ip,前面讲过k8s有好多核心功能,这么多的核心功能光靠我们的nginx镜像能实现?
你想让它支持k8s这么多的高级功能,你说这个镜像要不要做定制化的操作,需要,这就增加了你的学习成本,怎么让我还是使用以前的镜像,还能使用你的k8s的高级功能,用插件,插件的方式刚好用的,你不需要做任何方式k8s高级功能的处理,我这个容器帮你做好了,怎么把他们绑一块儿勒?
怎么把他们绑一块儿勒?共用ip地址,
k8s支持这么多的高级功能,光靠我们的普通的nginx容器实现不了,所以我需要有一个容器能够实现这个功能,那这个容器就是这个pod,pod来实现k8s的这些高级功能。
怎么把这两个容器绑一块,共用ip就行了,
反正我pod不抢你nginx服务端口,你该用啥就是啥,我pod还能给你实现高级功能,
所以我们平常说的pod资源,经常在k8s里面说的pod,都是pod资源,明白什么叫资源?pod资源不等于容器,一个pod资源里面至少会启动两个容器,一个叫基础容器,就是我们刚才说的pod容器,还有一个叫业务容器,刚才的业务容器叫nginx,也可以多个容器,在这里我们可以在加一个,我们把配置文件改改,
接下来再来一个容器,4yy复制4行,现在这个里面有两个容器,
两个容器需要用名字区分一下,我的私有仓库上有一个busybox的镜像,我记得测试的时候传了镜像到私有仓库上去,通过history|grep push查看一下,
这个镜像默认的初始命令夯不住,那有没有办法让它夯住,2dd是删除两行命令的意思,可以用一些命令让它夯住,指定容器的初始命令是command,让它sleep 1000s,
这儿就加了一个容器,
我们先来创建create-f,指定文件创建,报错是为什么?
command命令用错了,语法错误
上图这种写法不支持,
再来创建一下,现在不是语法错误了,
而是之前有个pod名称叫nginx,你在创建一个pod再叫nginx他们就打架了,这个名字是唯一的,所以在改这个配置文件的时候还记得要改名字name,
标签labels咱们还没用上,后面再说,
在来创建一下,成功了。
创建了一个叫test名字的pod,
在来get 一下pod列表,之前只有1/1的列表,现在有0/2,
再来看一下,同时我们可以看到它调度到哪个节点上了,
它调度的时候尽可能的公平,一人一个,现在有两个小弟可以干活,来了一个活,先分给他,在来了一个活,在分给他,这样就比较公平,
这个pod资源里面起了几个业务容器,起了两个业务容器,一个pod基础容器,在10.0.0.12上面,你用docker ps你会看到看到几个容器?他们两个共用一个pod,所以这里面可以看到nginx的和busybox的重启数
三个人的都是一个ip10.0.0.11,端口谁先占用就是谁的,ping这个ip地址,他们三个都能收到包,
配置文件告诉你,一个pod里面可以跑多个容器,如下图所示
原文地址:http://www.cnblogs.com/ypyyds/p/16833822.html