kubernetes实践之四十二:StatefulSet
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,一: 前言1.使用StatefulSet的场景a.稳定、唯一的网络标识b.稳定、持久的存储c.按照顺序、优雅的部署和扩容d.按照顺序、优雅的删除和终止e.按照顺序、自动滚动更新2.StatefulSe
千家信息网最后更新 2025年02月03日kubernetes实践之四十二:StatefulSet一: 前言
1.使用StatefulSet的场景
a.稳定、唯一的网络标识
b.稳定、持久的存储
c.按照顺序、优雅的部署和扩容
d.按照顺序、优雅的删除和终止
e.按照顺序、自动滚动更新
2.StatefulSet的限制
a.在Kubernetes 1.9版本之前是beta版本,在Kubernetes 1.5版本之前是不提供的。
b.Pod存储由PersistentVolume(storage类或者管理员预先创建)提供。
c.删除或者缩容StatefulSet不会删除与StatefulSet关联的数据卷,这样能够保证数据的安全性。
d.当前的StatefulSets需要一个Headless服务来为Pod提供网络标识,此Headless服务需要通过手工创建。
二:存储供应模式
1.静态资源供应模式,通过PV和PVC完成绑定。
2.动态资源供应模式,通过StorageClass和PVC完成资源动态绑定
三: StatefulSet Nginx 应用实例
1. 创建三个pv (name分别为glusterfs-nginx-0,glusterfs-nginx-1,glusterfs-nginx-2)
2.创建三个pvc (name分别为glusterfs-nginx-0,glusterfs-nginx-1,glusterfs-nginx-2)
1.StatfuleSet Pod拥有一个唯一的身份标识,它由顺序、稳定的网络标识和稳定的存储所组成。此身份标识一直跟随着Pod,不过它被调度到那个Node上。
2.对于拥有N个副本集的StatefulSet,在StatefulSet中的每一个Pod都会被指派一个整型的序数,此序数在0和N之间,在整个集合中是唯一的。
3.在StatefulSet中,每一个Pod的主机名称都由StatefulSet的名称和序数所组成。Pod的主机名称的格式:$(statefulset name)-$(ordinal)。如果创建了三个Pod,这他们的主机名称为web-0,web-1,web-2。StatefulSet能够使用Headless服务来控制Pod的域。Service管理的域的格式为:$(service name).$(namespace).svc.cluster.local,cluster.local是集群域。对于每一个被创建的Pod,它将得到一个DNS子域,格式为: $(podname).$(governing service domain),这里的管理服务在StatefulSet中,通过serviceName设置。
1.使用StatefulSet的场景
a.稳定、唯一的网络标识
b.稳定、持久的存储
c.按照顺序、优雅的部署和扩容
d.按照顺序、优雅的删除和终止
e.按照顺序、自动滚动更新
2.StatefulSet的限制
a.在Kubernetes 1.9版本之前是beta版本,在Kubernetes 1.5版本之前是不提供的。
b.Pod存储由PersistentVolume(storage类或者管理员预先创建)提供。
c.删除或者缩容StatefulSet不会删除与StatefulSet关联的数据卷,这样能够保证数据的安全性。
d.当前的StatefulSets需要一个Headless服务来为Pod提供网络标识,此Headless服务需要通过手工创建。
二:存储供应模式
1.静态资源供应模式,通过PV和PVC完成绑定。
2.动态资源供应模式,通过StorageClass和PVC完成资源动态绑定
三: StatefulSet Nginx 应用实例
1. 创建三个pv (name分别为glusterfs-nginx-0,glusterfs-nginx-1,glusterfs-nginx-2)
点击(此处)折叠或打开
- apiVersion: v1
- kind: PersistentVolume
- metadata:
- name: glusterfs-nginx-0
- namespace: default
- spec:
- capacity:
- storage: 1Gi
- accessModes:
- - ReadWriteOnce
- glusterfs:
- endpoints: "glusterfs-cluster"
- path: "k8s-volume"
- readOnly: false
2.创建三个pvc (name分别为glusterfs-nginx-0,glusterfs-nginx-1,glusterfs-nginx-2)
点击(此处)折叠或打开
- kind: PersistentVolumeClaim
- apiVersion: v1
- metadata:
- name: glusterfs-nginx-0
- namespace: default
- spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 1Gi
点击(此处)折叠或打开
- apiVersion: v1
- kind: Service
- metadata:
- name: nginx
- labels:
- name: nginx
- spec:
- ports:
- - port: 80
- targetPort: 80
- clusterIP: None
- selector:
- role: mongo
点击(此处)折叠或打开
- apiVersion: apps/v1beta1
- kind: StatefulSet
- metadata:
- name: nginx
- spec:
- serviceName: "nginx"
- replicas: 3
- template:
- metadata:
- labels:
- role: nginx
- spec:
- terminationGracePeriodSeconds: 10
- containers:
- - name: nginx
- image: nginx
- ports:
- - containerPort: 80
- volumeMounts:
- - name: glusterfs
- mountPath: /usr/share/nginx/html
- volumeClaimTemplates:
- - metadata:
- name: glusterfs
- spec:
- accessModes: [ "ReadWriteOnce" ]
- resources:
- requests:
- storage: 1Gi
1.StatfuleSet Pod拥有一个唯一的身份标识,它由顺序、稳定的网络标识和稳定的存储所组成。此身份标识一直跟随着Pod,不过它被调度到那个Node上。
2.对于拥有N个副本集的StatefulSet,在StatefulSet中的每一个Pod都会被指派一个整型的序数,此序数在0和N之间,在整个集合中是唯一的。
3.在StatefulSet中,每一个Pod的主机名称都由StatefulSet的名称和序数所组成。Pod的主机名称的格式:$(statefulset name)-$(ordinal)。如果创建了三个Pod,这他们的主机名称为web-0,web-1,web-2。StatefulSet能够使用Headless服务来控制Pod的域。Service管理的域的格式为:$(service name).$(namespace).svc.cluster.local,cluster.local是集群域。对于每一个被创建的Pod,它将得到一个DNS子域,格式为: $(podname).$(governing service domain),这里的管理服务在StatefulSet中,通过serviceName设置。
标识
服务
名称
顺序
存储
三个
主机
序数
格式
模式
版本
网络
资源
供应
管理
优雅
动态
数据
身份
a.
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
lol登录卡在连接服务器
开个传奇服务器需要什么网络插件
软件开发规范四层质量
创建数据库mysql的语句是
深圳市百安居互联网科技
信息网络安全战略大数据
卓豪软件数据库表
语音网络技术
全球网络技术大会在宁开幕
reaxys数据库中科院
x86服务器配置硬件管理口
方舟官方永久炫彩服务器
微配资软件开发
河北回收二手服务器平台
网络安全保护状况
网络安全证书照片打印机
嘉祥租房软件开发
影响我国网络技术创新市场化的
全国计算机3级数据库技术
TNT大大的服务器
七年级网络安全漫画
中国家庭网络安全
合并计算中间几列没数据库
今日头条软件开发招聘
承包软件开发项目
算法仿真属于软件开发过程吗
盈造互联网科技有限公司
数据库的报告书
xp管理你的服务器
网络安全认证CIW