(1):如何理解Pod
一、Pod的基本概念1.Pod是k8s中最小的部署单元;2.一个Pod中包含一组container(一个或多个容器);3.一个Pod中的所有容器共享网络命令空间;4.Pod的生命周期是短暂的。二、Pod与Docker区别1.Pod是多进程设计:一个Pod里可以有多个容器,可以运行多个应用程序;2.容器是单进程设计:一个容器里运行一个应用程序,守护进程可以确保启动多个容器;3.Pod的存在意义:为了
一、Pod的基本概念
1.Pod是k8s中最小的部署单元;
2.一个Pod中包含一组container(一个或多个容器);
3.一个Pod中的所有容器共享网络命令空间;
4.Pod的生命周期是短暂的。
二、Pod与Docker区别
1.Pod是多进程设计:一个Pod里可以有多个容器,可以运行多个应用程序;
2.容器是单进程设计:一个容器里运行一个应用程序,守护进程可以确保启动多个容器;
3.Pod的存在意义:为了亲密性应用
3.1 两个应用之间进行交互。比如一个应用读、一个应用负责写,放在一个Pod更加合理;
3.2 网络之间的调用,同一个Pod里不需要通过ip进行调用;
3.3 两个应用之间需要频繁调用,确保性能更高。
三、Pod实现机制
1.共享网络
实现机制:
第1步,创建Pause容器(info容器或者叫根容器);
第2步,每当创建一个业务容器时,都会将新的业务容器加入到Pause容器中,在同一个ns中实现网络的共享;在Pause容器中,会独立出一个ip、mac以及port。
2.共享存储
Pod持久化数据:日志数据、业务数据等等;
共享存储的好处:当节点1上的Pod挂掉,飘到节点2,需要做持久化存储,保证数据的高可用性;
需要用到数据卷Volume;
3.共享网络与共享存储示例:
这里write容器执行完shell就挂了,所以过了一会儿就进不去了,write容器进入无限的重启模式;read容器由于有进程挂起,所以还是可以进入容器的。
进入容器的命令,其中,一个pod中有多个容器则必须用-c指明是进入哪一个容器:
kubectl exec -it share-pod -c write/read – bash -il
更多推荐
所有评论(0)