「Kubernetes Objects」- StatefulSets(学习笔记)

  CREATED BY JENKINSBOT

问题描述

该笔记将整理:StatefulSet 对象相关的内容,是官方文档的学习笔记;

解决方案

StatefulSets,用于管理「有状态应用」的工作负载 API 对象。它管理一组 Pod 的部署和扩展,并保证这些 Pod 的顺序和唯一性。 像「Deployment」一样,「StatefulSet」基于相同容器规范对 Pod 进行管理。与「Deployment」不同,「StatefulSet」为其每个 Pod 绑定一个标识。这些 Pod 是根据相同的规范创建的,但不能互换:每个 Pod 都有一个永久性标识,在所有重新调度中都会保持该标识;

7.4. Managing Stateful and Leader/Follower Apps

StatefulSet 是一个控制器,为监控的 POD 提供唯一的身份;

出于安全考虑,删除 POD 不会删除对应的卷;

参考 cockroachdb-statefulset.yaml 文档,以获取关于 StatefulSet 相关的示例;

数据存储(PVC)

Why StatefulSets? Can’t a stateless Pod use persistent volumes?

通过 volumeClaimTemplates 属性,能够为 StatefulSet 的 Pod 提供稳定的存储,其确保 Pod 重新调度时将关联到固定的 PVC 实例。

参考文献

StatefulSets | Kubernetes
Kubernetes/Concepts/StatefulSets
Kubernetes/Tutorials/StatefulSet Basics