14.statefulset服务
有状态的控制器有以下几个特点
稳定,独特的网络标识符。
稳定,持久的存储。
有序,优雅的部署和扩展。
有序的自动滚动更新。
使用限制
StatefulSet是1.9之前的beta资源,在1.5之前的任何Kubernetes版本中都没有。
给定Pod的存储必须由PV根据请求进行配置storage class,或者由管理员预先配置。
删除和/或缩放StatefulSet将不会删除与StatefulSet关联的卷。这样做是为了确保数据安全,这通常比自动清除所有相关的StatefulSet资源更有价值。
StatefulSets目前要求HEADLESS负责Pod的网络身份。您有责任创建此服务。
删除StatefulSet时,StatefulSets不提供对pod终止的任何保证。要在StatefulSet中实现pod的有序和正常终止,可以在删除之前将StatefulSet缩减为0
组件
名为nginx的无头服务用于控制网络域。
StatefulSet,名为web,有一个Spec,表明nginx容器的3个副本将在唯一的Pod中启动。
该volumeClaimTemplates将使用提供稳定的存储PersistentVolumes由PersistentVolume置备供应。
下面我们来简单创建一个redis的state服务(未作主从配置)
首先要创建三个可用pv 供其使用 每个node节点都要安装nfs工具否则会卡住
[root@master pvc]# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pv-test- 5Gi RWO Recycle Available slow 5s
pv-test- 5Gi RWO Recycle Available slow 5s
pv-test- 5Gi RWO Recycle Available slow 5s
[root@master pvc]# cat pv.ymal
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-test-
namespace: default
spec:
capacity:
storage: 5Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
storageClassName: slow
nfs:
path: /kube_pv
server: 10.24.2.125
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-test-
namespace: default
spec:
capacity:
storage: 5Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
storageClassName: slow
nfs:
path: /kube_pv
server: 10.24.2.125
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-test-
namespace: default
spec:
capacity:
storage: 5Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
storageClassName: slow
nfs:
path: /kube_pv
server: 10.24.2.125
启动stateful
[root@master stateful]# cat redis-state.ymal
apiVersion: v1
kind: Service
metadata:
name: redis-state-svc
namespace: default
spec:
selector:
app: redis
clusterIP: "None"
ports:
- port:
name: redis
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: redis-state
spec:
serviceName: redis-state-svc
replicas:
selector:
matchLabels:
app: redis
template:
metadata:
labels:
app: redis
spec:
containers:
- name: redis
image: redis:-alpine
ports:
- containerPort:
name: redis
volumeMounts:
- name: redis-data
mountPath: /data
volumeClaimTemplates:
- metadata:
name: redis-data
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "slow"
volumeMode: Filesystem
resources:
requests:
storage: 2Gi
statefu 会根据副本数量启动的有编号的pod,并在更新或者删除的时候顺序操作。
这里应注意一点我们的redis镜像中默认启动过程中会对/data 目录进行chown 但是在nfs中这里需要对应设置很不便利
14.statefulset服务的更多相关文章
- 14 微服务电商【黑马乐优商城】:day01-springboot(理论篇)
本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) :day01-springboot(Thyme ...
- 14 微服务电商【黑马乐优商城】:day06-使用nginx反向代理并掌握cors解决跨域
本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...
- 14 微服务电商【黑马乐优商城】:day06-了解vue-router和webpack的使用
本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...
- 14 微服务电商【黑马乐优商城】:day04-ES6语法入门
day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) :day02-springcloud(理论篇二) :day ...
- 14 微服务电商【黑马乐优商城】:day04-项目搭建(二)
本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...
- 14 微服务电商【黑马乐优商城】:day04-项目搭建(一)
本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...
- 14 微服务电商【黑马乐优商城】:day03-springcloud(Zuul网关)
本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...
- 14 微服务电商【黑马乐优商城】:day03-springcloud(Hystix,Feign)
本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...
- 14 微服务电商【黑马乐优商城】:day02-springcloud(理论篇四:配置Robbin负载均衡)
本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...
随机推荐
- echarts 图例显示到右边
原: legend: { data:['同龄普通孩子','已具备技能','已泛化技能','已掌握技能','学习中'] }, 改: legend: { data:['同龄普通孩子','已具备技能','已 ...
- Luogu P5168 xtq玩魔塔
这题不错啊,结合了一些不太传统的姿势. 首先看到题目有一问从一个点到另一个点边权最小值.想到了什么? 克鲁斯卡尔生成树+倍增?好吧其实有一个更常用NB的算法叫克鲁斯卡尔重构树 (不会的可以看dalao ...
- Ext中 grid 设置行样式
//设置样式 JS var SetRowClass = function(record, rowIndex, rowParams, store) { if (record.data.status ...
- 第4次oo作业
作业概述 作业1:多项式加法 第一次作业理解上并不困难,简言之是一个多项式合并同类项,但对于我这个第一次使用java进行编程的小白,还是充满了血和泪. 在这次课程之前,我稍微对java有一些了解,但也 ...
- OO博客作业1:第1-3周作业总结
(1)基于度量来分析自己的程序结构 注:UML图中每个划分了的圆角矩形代表一个类或接口,箭头可代表创建.访问数据等行为.类的图形内部分为3个部分,从上到下依次是类的名称.类包含的实例变量(属性).类实 ...
- H5 67-清除浮动方式三
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Vue Router 路由实现原理
一.概念 通过改变 URL,在不重新请求页面的情况下,更新页面视图. 二.实现方式 更新视图但不重新请求页面,是前端路由原理的核心之一,目前在浏览器环境中这一功能的实现主要有2种方式: 1.Hash ...
- NFV论文集(三)综述
一 文章名称:Dependability of the NFV Orchestrator: State of the Art and Research Challenges 发表时间:2018 期刊来 ...
- 工作时间看股票:采用Excel RTD技术获取和讯网的实时股票行情及深沪港最新指数
本文地址:http://www.cnblogs.com/Charltsing/p/RTD.html QQ:564955427 在Excel里面获取实时数据大概有几种方式:1.定时器+函数2.DDE3. ...
- PS调出冷绿色电影画面风格
原图 一.按照惯例先磨皮,我修照片的习惯是,先拉一层色阶,使直方图平均分配,画面会显得没那么灰,当然,这只是个人喜好,先加后加都没所谓. 二.由于脸部的亮度不够,显得有点脏.所以这一步主要是通过拉曲线 ...