k8s StatefulSet 初指南 入门概念

目录

  • 背景
    • 什么是有状态
  • StatefulSet
    • 对比deployment
      • Headless Service
      • PV & PVC
    • 云厂商
  • 参考

背景

近期工作中需要在内部发布平台兼容k8s原生资源——StatefulSet的发布,特此在这作一系列记录。目前发布系统已经支持deployment和service的增删改查。

什么是有状态

有状态应用允许用户重复返回该应用并恢复之前的操作,比如电子邮件或者网上银行应用。

有状态的应用会记录之前事务的上下文,这些上下文可能会对当前或未来事务产生影响。

所以,有状态的应用必须确保每个用户始终访问同一个应用程序实例,或者有某种在实例之间同步数据的机制。

有状态进程的优点是,应用程序可以存储每个事务的历史和上下文,跟踪最近的活动、配置偏好和窗口位置等元素,并允许用户恢复事务。

有状态的事务的表现就像始终和同一台服务器进行对话一样

StatefulSet

StatefulSet是k8s的原生资源之一,它针对的是有状态的服务。有状态意味着每一个k8s调度的最小单位——Pod是唯一的。每一个Pod需要拥有唯一的标识,唯一的IP,唯一的内存状态,唯一的存储等等。官方建议在拥有以下一个或多个条件时使用StatefulSet:

  • 稳定的、唯一的网络标识符。
  • 稳定的、持久的存储。
  • 有序的、优雅的部署和扩缩。
  • 有序的、自动的滚动更新。

简言之,StatefulSet用来管理某 Pod 集合的部署和扩缩ÿ

你可能感兴趣的:(k8s,kubernetes,docker,容器,腾讯云)