iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >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://www.lsjlt.com/news/153193.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • K8S之StatefulSet有状态服务详解
    目录一、概念二、实例一、概念 1.1.无状态和有状态的区别 主要从网络和存储来对比 无状态不考虑存储和网络,可以任意漂移,每个副本是一样的,如Nginx 有状态应用需要考虑存储和网络...
    99+
    2022-11-13
  • K8S之StatefulSet有状态服务实例分析
    这篇文章主要介绍“K8S之StatefulSet有状态服务实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“K8S之StatefulSet有状态服务实例分析”文章能帮助大家解决问题。一、概念1....
    99+
    2023-07-02
  • 如何通过StatefulSet部署有状态服务应用
    这篇“如何通过StatefulSet部署有状态服务应用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何通过Stateful...
    99+
    2023-06-29
  • 通过StatefulSet部署有状态服务应用实现方式
    目录先总结后详解:StatefulSet的基本概念:示例:定义一个StatefulSet资源StatefulSet的扩容与缩容StatefulSet扩容:StatefulSet缩容:...
    99+
    2022-11-13
  • 详解Linux服务器状态、性能相关命令
    服务器状态分析 查看linux服务器CPU详细情况 #查看CPU的信息 [root@host ~]# cat /proc/cpuinfo  #查看物理CPU的个数 [root@host /]# cat /p...
    99+
    2022-06-04
    linux 服务器命令 linux性能命令
  • 阿里云服务器状态查询及监控详解
    阿里云是目前中国领先的云计算服务提供商,其服务器状态查询及监控是用户进行云资源管理的重要工具。本文将详细介绍如何在阿里云上查看服务器状态,并进行详细的监控。 一、如何在阿里云上查看服务器状态登录阿里云控制台:首先,需要登录阿里云控制台,可以...
    99+
    2023-11-22
    阿里 详解 状态
  • 详解Nginx 被动检查服务器的存活状态
    介绍 通过发送定期健康检查来监控上游组中 HTTP 服务器的健康状况。Nginx 可以持续测试您的上游服务器,避免出现故障的服务器,并将恢复的服务器优雅地添加到负载均衡组中。 被动...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作