简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
想系统学习k8s源码,云原生的可以加:mkjnnm。
Operator 是 Kubernetes 用来拓展其 API 的一种开发范式(Pattern),其核心是定义若干的自定义资源及其对应的资源控制器,当这些资源发生变化时其对应的控制器对变化进行调解(Reconcile),最终使得实际状态与预期状态达成一致。K8s-sigs 推出的是一个用于构建 Operator 应用的框架,和一样都依赖了,提供了高级 API 和抽象,让开发者更直观地编写操作逻辑,
想系统学习k8s源码,云原生的可以加:mkjnnm。
想系统学习k8s源码,云原生的可以加:mkjnnmIndexer 是一个索引缓存,用于缓存 Reflector 从 Kube-apiserver List/Watch到的资源对象,可以理解是一个带索引查询的内存型存储。下面通过走读源码的形式来了解 Indexer 的原理,本篇基于 k8s.io/client-go v0.30.0 源码讲解。
想系统学习k8s源码,云原生的可以加:mkjnnmDeltaFIFO本质上是一个先进先出的队列,有数据的生产者和消费者,其中生产者是Reflector调用的Add方法,消费者是Controller调用的Pop方法。从 DeltaFIFO 数据结构来看,里头存储着 map[obj key]Deltas 和 object queue。Delta 装有对象数据及对象的变化类型。其中 DeltaType
想系统学习k8s源码,云原生的可以加:mkjnnm。
想系统学习k8s源码,云原生的可以加:mkjnnmDeployment Controller 是 Kube-Controller-Manager 中最常用的 Controller 之一管理 Deployment 资源。而 Deployment 的本质就是通过管理 ReplicaSet 和 Pod 在 Kubernetes 集群中部署Workload。
想系统学习k8s源码,云原生的可以加:mkjnnm下面来分析一下dc.sync方法,以下两种情况下,都会调用dc.sync,然后直接return:(1)判断deployment的属性值是否为true,是则调用dc.sync做处理,调用完成后直接return;(2)先调用,检查deployment对象是否处于scaling状态,是则调用dc.sync做处理,调用完成后直接return。deploym
v1.x.y0ps: k8s 发布v1.30.0 版本时,client-go 会同步发布两个版本 v0.30.0 (推荐使用)和 kubernetes-1.30.0。
想系统学习k8s源码,云原生的可以加:mkjnnmreplicaset controller分析分为3大块进行,分别是:(1)replicaset controller初始化和启动分析;(2)replicaset controller核心处理逻辑分析;(3)replicaset controller expectations机制分析。本篇进行replicaset controller核心处理逻辑分