一、pod概念
1、 自主式pod:一旦死亡不会进行拉起;
2、 控制器管理的pod:死亡后控制器进行拉起;
pod:一个pod里面可能有多个容器
运行pause(跑死),容器共用pause的网络站,共用pause的存储卷,进程不会进行隔离;
二、控制器
1、 replicationcontroller:用来保证容器应用的副本数始终保持在用户定义的副本数,如果有容器异常退出,会创建新的pod来代替;如果异常多出来的容器也会被自动回收;
在新版版的kubernetes中建议使用replicaset来代替replicationcontroller
2、 replicaset:和replicationcontroller没有本质不同只是名字不同并且relicaset支持集合式的selector;可以使用打标签的方式进行指定集合;
3、 deployment:虽然一般replicaset可以独立使用,但是一般还是建议使用1deployment来自动管理replocaset这样无需担心和其他机制不兼容的问题(比如replicaset不支持rolling-update,但是deployment支持);
deployment流程图
deployment ---->创建rs------>创建pod
deployment不直接管理pod
5、 statufulset:是为了解决有状态服务的问题(对应deployment和replicaset是为无状态服务而设计),其应用场景包括:;
(1)稳定的持久化存储,pod重新调度后还能访问到相同的持久化数据,基于PVC实现
(2)稳定的网络标志,pod重新调度后其podname和hostname不变,基于headless service实现(没有cluster ip和service)
(3)有序部署,有序扩展,pod是有顺序的,在部署或者扩展时要依据定义的顺序依次进行,基于init container来实现
(4)有序收缩,有序删除
6、 daemonset:确保全部node节点上运行一个pod的副本当有node加入集群时,也会为他们新增一个pod当有node从集群移除时,这些pod也会被回收,删除daemonset将会1删除1他们创建的所有的pod;
使用daemonset的一些典型用户:
1、 运行集群存储daemon,例如在每个node上运行glusterd、ceph;
2、 在每个node上运行日志收集daemon,例如fluentd、logstash;
3、 在每个node上运行监控daemon,例如Prometheusnodeexporter;
7、 job负责批处理任务,仅执行一次的任务,他保证批处理任务的一个或者多个pod成功结束;
cron job 管理基于时间的job :
(1)在给定时间点只运行一次
(2)周期性在给定时
三、服务发现 service
service服务发现是通过标签进行选择的
》》》博主长期更新学习心得,推荐点赞关注!!!
》》》若有错误之处,请在评论区留言,谢谢!!!
版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: