zoukankan      html  css  js  c++  java
  • 什么是StatefulSet

    简单说来,StatefulSet其实就是一种升级版的Deployment,大体工作原理如下

    1.为每个Pod名字按顺序编号,按顺序启动

    # kubectl get po -o wide -l app=nginx
    NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE
    web-0 1/1 Running 0 21s 10.244.0.44 vm-0-8-ubuntu <none>
    web-1 1/1 Running 0 14s 10.244.0.45 vm-0-8-ubuntu <none>
    

    删除重建的Pod会使用之前的一模一样的名字

    2.通过HeadlessService为Pod编号,在DNS服务器中生成带有编号的DNS记录,从而可以达到通过Pod名字定位到相应的服务

    pod-name>.<svc-name>.<namespace>.svc.cluster.local
    

    实现了网络标识的稳定

    3.为每个Pod绑定名称对应的PVC,规则如下

    <PVC名字>-<StatefulSet名称>-<编号>
    

    在Pod重建的时候会重新绑定上之前的PVC,因为PV和PVC不会被删除,数据还在,所以Statefulset的存储状态是稳定的

    总的来说,StatefulSet实现了:1.保证网络标识的稳定 2.保证存储状态的稳定。适合用来部署有状态的应用,而Deloyment认为所有的Pod都是完全一样的,更适合用来操作无状态的应用

  • 相关阅读:
    反汇编角度->C++ const
    反汇编->C++虚函数深度分析
    反汇编->C++内联
    反汇编->C++引用与指针
    数据库初步认识
    数据库系统的结构抽象与演变
    Android · PendingIntent学习
    Android · ContentProvider学习
    notepad++
    MapReduce使用JobControl管理实例
  • 原文地址:https://www.cnblogs.com/chenqionghe/p/11660359.html
Copyright © 2011-2022 走看看