美文网首页
2023-02-06-StatefulSet、DaemonSet

2023-02-06-StatefulSet、DaemonSet

作者: DGFM | 来源:发表于2023-02-05 16:10 被阅读0次

K8S中服务可以分为两种:有状态和无状态;

有状态服务:服务之间存在角色或状态关系;

无状态服务:服务之间彼此独立;

1.StatefulSet控制器

1.1    为了解决“有状态服务”的集群部署,集群之间数据同步问题(如:mysql主从等);

1.2    StatefulSet所管理的pod,拥有唯一且固定的pod名称;

通常命名方式从0开始顺延,如“xxx-mysql-0,xxx-mysql-1”;

1.3    按照顺序对pod进行启动,有序伸缩和回收;

伸缩规则

伸(扩):从0往后,遇到问题不会跳过,如0-->1-->2-->3(出错)--x4(4不会被创建);

缩(减):从后往前,顺序相反,规则不变;

1.4    Headless Service,无头服务,请求的转发直接解析到pod IP;

所谓无头服务,就是在K8S中创建一个service,这个service没有clusterIP(为none),并且其他pod可以通过ping通这个service name,而结果则是该headless service所关联的endpoint节点的podIP,并且当有多个endpoint时,每一次ping操作都会轮询显示endpoint的podIP;

题外:无论何种服务其所在平台的运行效率都是,物理机>虚拟机>云平台,即如果一个服务部署在物理机上,其会发挥出最大的性能,其次为物理机中假设的虚拟机,最后为通过虚拟化所创建的云平台设备。其中性能损失比约为20-30%(仅为参考);

2.DeamonSet控制器:在当前K8S集群中,每个节点运行同一个pod,当有新的节点加入集群时也会为新的节点配置相同的pod。当节点从集群中移除时此pod也会被kubernetes回收。若删除DeamonSet控制器则会同时删除其创建的所有pod;

DeanmonSet可以用来做前端静态页面优化工作,比如把经常要访问的页面在每个node节点上运行,并且中间的网络不在使用ClustreIP而是直接使用node节点的IP这样可以减少性能损耗;

相关文章

网友评论

      本文标题:2023-02-06-StatefulSet、DaemonSet

      本文链接:https://www.haomeiwen.com/subject/gvfzhdtx.html