k8s-statefulSet 有状态应用

statefulSet 有状态应用

    部署有状态应用

解决pod的生命周期性 保持pod启动顺序和唯一性

1. 稳定 唯一的网络标识符 持久储存

2. 有序 优雅的部署和扩展 删除和终止

3. 有序滚动更新

应用场景: 数据库 分布式应用 (mysql zk etcd)

稳定的网络ID:

    多一个serviceName"nginx"字段就是告诉statefulset控制器使用nginx这个headkess service来保证POd身份

分布式应用都有有一个拓扑关系

为每一个 pod分配一个固定的dns名称

稳定的数据存储

    StatefulSet的存储卷使用VolumeClaimTemplate创建,

称为卷申请模板,当StatefulSet使用VolumeClaimTemplate

创建一个PersistentVolume时,同样也会为每个Pod分配

并创建一个编号的PVC

pod和pvc是一一对应

statefulSet 与 deployment是有区别的 statefulSet是有身份的

身份三要素

1. 域名 (dns)

2. 主机名 (容器主机名)

3. 存储(pvc)

https://github.com/lizhenliang/etcd-statefulset

k8s特点:

快速部署 快速扩容

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容