首页 > 编程语言 >StatefulSet扩缩容源码分析

StatefulSet扩缩容源码分析

时间:2023-05-07 14:55:18浏览次数:48  
标签:StatefulSet app 扩缩容 nginx 源码 Pod Parallel

k8s v1.15.0

Informer监听

cmd/kube-controller-manager/app/apps.go

作为StatefulSet资源控制器,StatefulSetController通过PodInformer、StatefulSetInformer、PersistentVolumeClaimInformer、ControllerRevisionInformer来监听事件。

扩缩容StatefulSet

podManagementPolicy
Parallel
并行创建或者删除Pod

pkg/controller/statefulset/stateful_set_control.go
updateStatefulSet方法
monotonic判断是否为并行管理策略

Parallel场景并行创建Pod

收集需要删除的Pod

Parallel场景并行删除Pod

apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  ports:
  - port: 80
  selector:
    app: nginx

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: nginx
spec:
  podManagementPolicy: Parallel
  serviceName: nginx
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.9.1

参考资料

Kubernetes StatefulSet源码分析

statefulset controller 源码分析

标签:StatefulSet,app,扩缩容,nginx,源码,Pod,Parallel
From: https://www.cnblogs.com/WJQ2017/p/17379326.html

相关文章

  • 【Visual Leak Detector】源码调试 VLD 库
    说明使用VLD内存泄漏检测工具辅助开发时整理的学习笔记。本篇介绍VLD源码的调试。同系列文章目录可见《内存泄漏检测工具》目录目录说明1.VLD库源码调试步骤1.1设置为启动项目1.2设置调试程序1.3设置输出目录1.4拷贝vld依赖文件1.5加断点调试2.注意事项1.VLD......
  • Linux驱动开发笔记(一):helloworld驱动源码编写、makefile编写以及驱动编译基本流程
    前言  基于linux的驱动开发学习笔记,本篇是描述了一个字符驱动的基础开发流程,以便做嵌入式开发多年的应用或者系统学习驱动开发。 笔者自身情况  笔者拥有硬件基础,单片机软硬基础,linux系统基础等各种,就是没有linux驱动框架基础,未做过linux系统移植和驱动移植开发了......
  • Deploy扩缩容源码分析
    k8sv1.15.0Informer监听作为Deployment资源控制器,DeploymentController通过DeploymentInformer、ReplicaSetInformer、PodInformer来监听事件。cmd/kube-controller-manager/app/apps.gostartDeploymentController函数pkg/controller/deployment/deployment_controller.goN......
  • Python flask成绩管理系统(课设、毕设、学习、源码下载)
    Pythonflask成绩管理系统后端:Python flask数据库:MySQL前端:html css js bootstrap等涉及功能:登录,登出,搜索,分类,排序,成绩管理,学生管理,班级管理,课程管理,数据统计分析,可视化图表 源码下载和功能展示:链接:https://pan.baidu.com/s/1D9cHH4Cy2jh6hgj3ZAWaDQ?pwd=q8le......
  • java基于ssm+vue的旅游管理系统、旅游资源网站、旅游网站管理系统,附源码+数据库+文档+
    1、项目介绍旅游资源网站的主要使用者分为管理员和用户,实现功能包括管理员:首页、个人中心、用户管理、景点信息管理、购票信息管理、酒店信息管理、客房类型管理、客房信息管理、客房预订管理、交流论坛、系统管理,用户:首页、个人中心、购票信息管理、客房预订管理、我的收藏管理,......
  • vue3源码-三、ref和toRefs的实现
    实现Refref的本质就是通过类属性访问器来实现,可以将一个普通值类型进行包装import{hasChanged,isObject}from"@vue/shared";import{track,trigger}from"./effect";import{TrackOpTypes,TriggerOpTypes}from"./operations";import{reactive}from&q......
  • LinkedList底层结构和源码
    LinkedList底层结构和源码LinkedList的全面说明LinkedList底层实现了双向链表和双端队列特点可以添加任意元素(元素可以重复,包括null)线程不安全,没有实现同步LinkedList的底层操作机制LinkedList底层维护了一个双向链表LinkedList中维护了两个属性first和last分别......
  • ArrayList底层结构和源码分析
    ArrayList底层结构和源码分析ArrayList的底层操作机制源码分析ArrayList中维护了一个Object类型的数组elementDatatransientObiect[]elementData;//transient是瞬间短暂的,表示被它修饰的属性不被序列化当创建ArrayList对象是,如果使用的是无参构造器,那么初始elementD......
  • RocketMQ之消息发送源码分析
    一、概述负责生产消息,一般由业务系统负责生产消息。一个消息生产者会把业务应用系统里产生的消息发送到broker服务器。RocketMQ支持三种消息发送方式:同步消息发送(sync):当Producer发送消息到Broker时会同步等待消息处理结果;异步消息发送(async):当Producer发送消息到Broker时......
  • RocketMQ之消息接收源码分析
    一、概述对于任何一款消息中间件而言,消费者客户端一般有两种方式从消息中间件获取消息并消费:Push方式:由消息中间件(MQ消息服务器代理)主动地将消息推送给消费者;采用Push方式,可以尽可能实时地将消息发送给消费者进行消费。但是,在消费者的处理消息的能力较弱的时候(比如,消费者端......