码迷,mamicode.com
首页 > Web开发 > 详细

kubernetes学习控制器之StatefulSet控制器

时间:2019-11-26 13:12:13      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:order   错误   增加   标识   要求   read   执行   控制器   provision   

StatefulSet介绍

一、StatefulSet概述
StatefulSet是用来管理stateful(有状态)应用的
StatefulSet管理Pod时,确保Pod有一个按序增长的ID
与Deployment最大的不同是StatefulSet始终将一系列不变的名字分配给Pod.这些Pod从一个模板创建,但是并不能相互替换
二、StatefulSet使用场景
对于有如下要求的应用程序,StatefulSet非常适用
需要稳定、唯一的网络标识(dnsname)
每个Pod始终对应各自的存储路径(PersistantVolumeClaimTemplate)
按顺序的增加副本、减少副本,并在减少副本时执行清理
安顺序自动的执行滚动更新

如果一个应用不需要一个稳定的网络标识,或者不需要按顺序部署、删除、增加副本,应该用deployment(无状态)控制器

三、StatefulSet的限制

Pod的存储要么由storage clas对应的PersistentVolume Provisioner提供,要么由集群管理员事先创建

删除或scale down一个StatefulSet将不会删除其对应的数据卷,这样保证数据安全

删除StatefulSet时,将无法保证Pod正常终止.如果要按顺序优雅的终止StatefulSet中的Pod,可以在删除StatefulSet之前,将scale down 到0 

当使用默认的Pod Management Policy(OrderedReady)进行滚动更新时,可能进入一个错误状态,并需要人工介入

 

kubernetes学习控制器之StatefulSet控制器

标签:order   错误   增加   标识   要求   read   执行   控制器   provision   

原文地址:https://www.cnblogs.com/chadiandianwenrou/p/11934700.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!