Kubernetes: Kubectl 源码分析】的更多相关文章

概述入口 - Reflector.Run()核心 - Reflector.ListAndWatch()Reflector.watchHandler()NewReflector()小结 概述 源码版本:kubernetes master 分支 commit-fe62fc(2021年10月14日) 回顾一下 Reflector 在整个自定义控制器工作流中的位置: 在<Kubernetes client-go 源码分析 - 开篇>中我们提到过 Reflector 的任务就是向 apiserver w…
概述startDeploymentController 入口逻辑DeploymentController 对象DeploymentController 类型定义DeploymentController 初始化ResourceEventHandlerDeployment 变更事件ReplicaSet 变更事件DeploymentController 启动Run()syncDeployment小结 概述 源码版本:kubernetes-v1.22.3 / commit-id: c92036 Depl…
介绍 client-go 是一种能够与 Kubernetes 集群通信的客户端,通过它可以对 Kubernetes 集群中各资源类型进行 CRUD 操作,它有三大 client 类,分别为:Clientset.DynamicClient.RESTClient.通过它,我们可以很方便的对 Kubernetes 集群 API 进行自定义开发,来满足个性化需求. client-go 安装 client-go 安装很简单,前提是本机已经安装并配置好了 Go 环境,安装之前,我们需要先查看下其版本针对 k…
概述Deployment 基础创建 DeploymentReplicaSet滚动更新失败回滚历史版本回滚其他特性小结 概述 Deployment 是最常用的 Kubernetes 原生 Workload 资源之一,我们一开始尝试使用 Kubernetes 的时候大概率就是从运行一个 Deployment 类型的工作负载开始的.今天开始我们计划分成几讲来从 Deployment 的特性介绍.源码分析等方面深度剖析 Deployment 资源和其背后的 Deployment 控制器. Deploym…
概述ListWatch 对象的创建GetterListWatchList() & Watch() 概述 源码版本信息 Project: kubernetes Branch: master Last commit id: d25d741c Date: 2021-09-26 ListWatcher 是 Reflector 的一个主要能力提供者,今天我们具体看下 ListWatcher 是如何实现 List() 和 Watch() 过程的.这里我们只跟到 RESTClient 到调用层,不深入 RES…
概述ControllerController 的初始化Controller 的启动processLoopHandleDeltas()SharedIndexInformersharedIndexerInformersharedProcessorprocessorListenersharedProcessor.addListener()sharedProcessor.distribute()sharedProcessor.run()sharedIndexInformer.Run()SharedInf…
概述Queue接口和结构体setAdd()Get()Done()DelayingQueue接口和结构体waitForNewDelayingQueuewaitingLoop()AddAfter()RateLimitingQueue接口和结构体RateLimiterBucketRateLimiterItemExponentialFailureRateLimiterItemFastSlowRateLimiterMaxOfRateLimiterWithMaxWaitRateLimiter限速队列的实现…
概述Queue 接口DeltaFIFO元素增删改 - queueActionLocked()Pop()Replace() 概述 源码版本信息 Project: kubernetes Branch: master Last commit id: d25d741c Date: 2021-09-26 我们在<Kubernetes client-go 源码分析 - 开篇>里提到了自定义控制器涉及到的 client-go 组件整体工作流程,大致如下图: DeltaFIFO 是上面的一个重要组件,今天我们…
kubernetes版本:1.13.2 接上一节:kubernetes垃圾回收器GarbageCollector Controller源码分析(一) 主要步骤 GarbageCollector Controller源码主要分为以下几部分: monitors作为生产者将变化的资源放入graphChanges队列:同时restMapper定期检测集群内资源类型,刷新monitors runProcessGraphChanges从graphChanges队列中取出变化的item,根据情况放入attem…
Kubernetes client-go Indexer / ThreadSafeStore 源码分析   请阅读原文:原文地址   Contents 概述 Indexer 接口 ThreadSafeStore threadSafeMap.Xxx() Index() 等实现 Index() 方法 ByIndex() 方法 IndexKeys() 方法 Replace() 方法 概述 源码版本信息 Project: kubernetes Branch: master Last commit id:…