如果部署使用ReplicaSets来上下缩放Pods,而StatefulSets没有ReplicaSets.
那么,它是如何上下缩放的呢?我是说,什么资源负责?StatefulSet提出了哪些请求以进行扩展?
发布于 2022-04-08 03:23:45
简而言之,StatefulSet控制器处理状态集副本。
StatefulSet是管理有状态应用程序工作负载的Kubernetes API对象。StatefulSets处理库伯内特斯吊舱集合的部署和缩放,为它们的唯一性和排序提供保证。
与部署类似,StatefulSets使用相同的容器规范管理吊舱。它们在维护每个豆荚的持久身份方面存在差异。虽然豆荚都是基于相同的规范创建的,但它们是不可互换的,因此每个荚都被赋予了一个通过重新安排来维护的持久标识符。
StatefulSet部署的好处包括:
唯一标识符-every pod在StatefulSet中被指定为唯一的、稳定的网络标识,由基于应用程序名称和实例编号的主机名组成。例如,具有三个实例的web应用程序的StatefulSet可能有标记为web1、web2和web3的荚。
持久性存储-every pod具有自己的稳定的持久卷,默认情况下或按每个存储类定义。当集群中的豆荚被缩小或删除时,它们的相关卷不会丢失,并且数据仍然存在。在删除未使用的豆荚之前,可以通过将StatefulSet缩小到0来清除不必要的资源。
命令的部署和缩放-the在StatefulSet中的豆荚是按顺序创建和部署的,根据它们的增量。豆荚也按(反向)顺序关闭,确保部署和运行时是可靠的和可重复的。在所有所需的StatefulSet运行之前,它不会进行扩展,所以如果一个吊舱失败了,它将在尝试按照缩放要求添加更多实例之前重新创建这个吊舱。
Automated,order -a StatefulSets可以处理滚动更新,关闭每个节点并按照原始顺序进行重构,直到每个节点都被替换,旧版本清理完毕。可以重用持久卷,因此数据会自动迁移到新版本。
https://stackoverflow.com/questions/71790686
复制相似问题