码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Kubernetes 之 StatefulSet基本原理


    Kubernetes 之 StatefulSet

    StatefulSet 定义

    StatefulSet 是一个有状态的集合,不同于一般 Pod 的一致性,不同的 Stateful Set 创建的 Pod 之间存在数据上的差异。同时它们是有序的,这样它们在故障或删除后恢复,自身的名字也不会变化,以达到维护整个分布式系统的目的。例如在 Redis 主从集群中,我们不能用 Pod 模式来部署,以为主从容器之间的配置信息是不一样的,这时候我们就需要 Stateful Set 来实现我们的需求。

    StatefulSet 的使用

    apiVersion: v1
    kind: Service
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      ports:
        - port: 80
          name: web
      clusterIP: None
      selector:
        app: pod-nginx
    ---
    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: stateful-set-web
    spec:
      serviceName: "nginx"
      replicas: 2
      selector:
        matchLabels:
          app: pod-nginx
      template:
        metadata:
          labels:
            app: pod-nginx
        spec:
          containers:
            - name: nginx
              image: registry.k8s.io/nginx-slim:0.8
              ports:
                - containerPort: 80
                  name: web
              volumeMounts:
                - name: www
                  mountPath: /usr/share/nginx/html
      volumeClaimTemplates:
        - metadata:
            name: www
          spec:
            storageClassName: nfs-client
            accessModes: [ "ReadWriteOnce" ]
            resources:
              requests:
                storage: 100Mi
    ---
    kind: Pod
    apiVersion: v1
    metadata:
      name: stateful-set-test
    spec:
      containers:
        - name: stateful-set-test
          image: docker.io/k8s-test:v1.0
      restartPolicy: "Never"
    
    
    root@k8s-master1:~# kubectl get pods -owide
    NAME                                     READY   STATUS    RESTARTS      AGE   IP               NODE          NOMINATED NODE   READINESS GATES
    nfs-client-provisioner-d5bf6698d-mxjw2   1/1     Running   1 (61m ago)   23h   10.244.194.109   k8s-worker1              
    stateful-set-test                        1/1     Running   0             62s   10.244.126.56    k8s-worker2              
    stateful-set-web-0                       1/1     Running   0             62s   10.244.194.114   k8s-worker1              
    stateful-set-web-1                       1/1     Running   0             61s   10.244.126.57    k8s-worker2              
    
    root@k8s-master1:~# kubectl get pvc
    NAME                     STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   VOLUMEATTRIBUTESCLASS   AGE
    www-stateful-set-web-0   Bound    pvc-81e64b41-f60d-488f-8862-90c91f821641   100Mi      RWO            nfs-client                      5m50s
    www-stateful-set-web-1   Bound    pvc-2d269bcd-297f-4bd9-9e5d-f24c41fc5c6b   100Mi      RWO            nfs-client                      5m40s
    
    root@k8s-master1:~# kubectl exec -it stateful-set-test -- /bin/sh
    / # curl nginx
    
    
    
        
        Nginx Test
    
    
    Hello Web1
    
    
    / # curl nginx
    
    
    
        
        Nginx Test
    
    
    Hello Web2
    
    
    
  • 相关阅读:
    Windows 10 的资源管理器频繁出现未响应的几种解决办法
    服务治理:常用限流算法总结
    frp内网穿透—将kali代理在公网中进行渗透测试
    reduceByKey(func, [numTasks]) 案例介绍_大数据培训
    ESPHome 通过http获取设备的状态
    centos 7无需token编译安装freeswitch 1.10.11 ——筑梦之路
    第七章:最新版零基础学习 PYTHON 教程—Python 列表(第三节 -Python程序访问列表中的索引和值)
    ChatGPT学习第三周
    2022软件测试3大发展趋势,看看你都知道吗?
    js+css实现的数据统计类网页ui设计,html页面前端源码
  • 原文地址:https://blog.csdn.net/baidu_34688878/article/details/139313808
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号