返回顶部
首页 > 资讯 > 服务器 >K8S之StatefulSet有状态服务详解
  • 235
分享到

K8S之StatefulSet有状态服务详解

2024-04-02 19:04:59 235人浏览 八月长安
摘要

目录一、概念二、实例一、概念 1.1.无状态和有状态的区别 主要从网络和存储来对比 无状态不考虑存储和网络,可以任意漂移,每个副本是一样的,如Nginx 有状态应用需要考虑存储和网络

一、概念

1.1.无状态和有状态的区别

主要从网络和存储来对比

无状态不考虑存储和网络,可以任意漂移,每个副本是一样的,如Nginx

有状态应用需要考虑存储和网络,每个副本是不对等的,具有唯一的ID,如etcd、Mysql

1.2.StatefulSet的特点

专为部署有状态服务而生

解决Pod独立生命周期,保持Pod启动顺序和唯一性

应用场景:分布式应用、数据库集群

稳定,唯一的网络标识符,持久存储
有序,优雅的部署和扩展、删除、终止
有序,滚动更新

1.3.Headless Service

也是一种Service,但不需要Cluster IP,需要设置clusterIP: None

1.4.serviceName

告诉StatefulSet要使用serviceName指定的headless service来保证Pod的身份

1.5.稳定的存储

存储卷使用volumeClaimTemplates创建,称为卷申请模板;当创建一个PV时,同样会为每个Pod分配并且创建一个编号PVC

二、实例

拿Nginx测试,主要演示yaml的写法,实际应用中需用有状态服务

2.1.statefulset.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  labels:
    app: WEB
  name: web
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
  serviceName: "headless-web"
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
      - image: nginx
        imagePullPolicy: IfNotPresent
        name: web
        ports:
        - containerPort: 8080
        volumeMounts:
          - name: www
            mountPath: /usr/share/nginx/html
  volumeClaimTemplates:
  - metadata:
      name: www
    spec:
      storageClassName: "managed-nfs-storage"
      acceSSModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 1Gi

设置了3个副本,从0开始标号,创建3个副本

在这里插入图片描述

自动创建PV和PVC

在这里插入图片描述

在这里插入图片描述

2.2.headless-svc.yaml

apiVersion: v1
kind: Service
metadata:
  name: headless-web
spec:
  clusterIP: None
  ports:
  - port: 80
    protocol: tcp
  selector:
    app: web

CLUSTER-IP为None

在这里插入图片描述

启动一个busybox的Pod

kubectl run test -it --rm --image=busybox -- sh
nslookup headless-web

域名解析结果

在这里插入图片描述

容器里可以通过<Pod Name>.<Headless Service>访问

curl web-0.headless-web

在这里插入图片描述

参考视频:https://ke.qq.com/user/index/index.html#/plan/cid=1709963&term_id=102815140

到此这篇关于k8s之StatefulSet有状态服务详解的文章就介绍到这了,更多相关K8S StatefulSet有状态服务内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: K8S之StatefulSet有状态服务详解

本文链接: https://lsjlt.com/news/153193.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • K8S之StatefulSet有状态服务详解
    目录一、概念二、实例一、概念 1.1.无状态和有状态的区别 主要从网络和存储来对比 无状态不考虑存储和网络,可以任意漂移,每个副本是一样的,如Nginx 有状态应用需要考虑存储和网络...
    99+
    2024-04-02
  • K8S之StatefulSet有状态服务实例分析
    这篇文章主要介绍“K8S之StatefulSet有状态服务实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“K8S之StatefulSet有状态服务实例分析”文章能帮助大家解决问题。一、概念1....
    99+
    2023-07-02
  • k8s编排之StatefulSet知识点详解一
    目录正文StatefulSet 的设计理解Service 如何被访问Headless Service 对应的 YAML文件StatefulSet 的 YAML 文件解析一下 Pod ...
    99+
    2023-01-17
    k8s编排StatefulSet k8s StatefulSet
  • 如何通过StatefulSet部署有状态服务应用
    这篇“如何通过StatefulSet部署有状态服务应用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何通过Stateful...
    99+
    2023-06-29
  • 通过StatefulSet部署有状态服务应用实现方式
    目录先总结后详解:StatefulSet的基本概念:示例:定义一个StatefulSet资源StatefulSet的扩容与缩容StatefulSet扩容:StatefulSet缩容:...
    99+
    2024-04-02
  • Android 之 Notification (状态栏通知)详解
    本节引言: 本节带来的是Android中用于在状态栏显示通知信息的控件:Notification,相信大部分 学Android都对他都很熟悉,而网上很多关于Notification的使用教程都是基于2.x的,而 现在普遍的Android...
    99+
    2023-08-31
    android android studio ide
  • Java多线程之线程状态详解
    目录 线程状态停止线程线程休眠模拟网络延迟(放大问题的发生性)模拟计时线程礼让插队(线程强制执行)线程状态观测线程优先级守护线程总结 线程状态 五个状态:新生、就...
    99+
    2024-04-02
  • C++有限状态机实现详解
    目录有限状态机四大要素C++函数指针实现总结前提:因为最近打算学设计模式的状态模式,但不是很明白有限状态机和状态模式之间的关系,索性用C++实现了一个简单案例复习了一下FSM,如果有...
    99+
    2024-04-02
  • Flutter有状态组件使用详解
    有状态组件 flutter 主要有分有状态组件 StatefulWidget 和无状态组件 StatelessWidget,前面我们使用到的都是无状态组件,没有让页面上的内容发生变化...
    99+
    2024-04-02
  • Java设计模式之状态模式详解
    目录1. 状态模式的概述2. 状态模式的结构与实现3. 状态模式的优缺点4. 状态模式的适用场景5. 示例程序的设计与实现1. 状态模式的概述 状态模式是一种通过将对象的状态转换逻辑...
    99+
    2023-05-20
    Java 状态模式 Java 设计模式
  • Java设计模式之java状态模式详解
    目录状态模式的结构状态模式的角色 示例代码适用场景投票案例认识状态模式状态和行为行为的平行性环境和状态处理对象状态模式优点状态模式的缺点状态模式和策略模式对比参考文章 总结...
    99+
    2024-04-02
  • vue之使用vuex进行状态管理详解
    目录vuex进行状态管理vuex状态管理基本使用vuex进行状态管理 首先学习vuex必须先知道vue原理 Vue是一个典型的MVVM框架,模型(Model)只是普通的JavaScr...
    99+
    2024-04-02
  • Java设计模式之状态模式StatePattern详解
    目录概述UML类图状态模式与策略模式谁决定状态转换的流向State是接口还是抽象类应用案例分析状态抽象类可以抽奖的状态奖品发放完毕状态发放奖品的状态不能抽奖状态抽奖活动(Contex...
    99+
    2022-11-13
    Java状态模式 Java State Pattern
  • Java多线程之线程状态的迁移详解
    目录一、六种状态二、状态迁移图三、线程状态模拟总结一、六种状态 java.lang.Thread 的状态分为以下 6 种,它们以枚举的形式,封装在了Thread类内部: NEW:表...
    99+
    2024-04-02
  • 详解Linux服务器状态、性能相关命令
    服务器状态分析 查看linux服务器CPU详细情况 #查看CPU的信息 [root@host ~]# cat /proc/cpuinfo  #查看物理CPU的个数 [root@host /]# cat /p...
    99+
    2022-06-04
    linux 服务器命令 linux性能命令
  • 阿里云监控服务器状态信息详解
    阿里云是全球领先的云计算服务商,为用户提供包括计算、存储、数据库、安全、网络等全方位的云计算服务。本文将详细介绍阿里云如何监控服务器状态信息,帮助用户更好地管理和保护自己的服务器。一、监控服务器状态信息的重要性服务器状态信息是用户了解和维...
    99+
    2024-01-26
    阿里 详解 状态
  • Flutter有状态组件StatefulWidget生命周期详解
    目录1、StatefulWidget的背后2、StatefulWidget的生命周期2.1创建阶段2.2更新阶段2.3销毁阶段总结:1、StatefulWidget的背后 flut...
    99+
    2023-01-13
    Flutter StatefulWidget生命周期 Flutter StatefulWidget有状态组件
  • 详解JVM系列之对象的锁状态和同步
    目录java对象头java中锁状态的变化偏向锁biased locking轻量级锁thin lock重量级锁三种锁状态的不同java对象头 Java的锁状态其实可以分为三种,分别是偏...
    99+
    2024-04-02
  • Vue3之列表动画和状态动画示例详解
    目录概述示例解析列表动画状态动画总结概述 列表动画和状态动画都是增加用户体验的方法,当一个列表添加数据或者移除数据时,如果直接添加,突然显示,未免有些突兀,而且用户可能会不知道此时...
    99+
    2023-05-14
    Vue3 列表动画状态动画 Vue3 动画
  • 详解Nginx 被动检查服务器的存活状态
    介绍 通过发送定期健康检查来监控上游组中 HTTP 服务器的健康状况。Nginx 可以持续测试您的上游服务器,避免出现故障的服务器,并将恢复的服务器优雅地添加到负载均衡组中。 被动...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作