程序锅

  • 首页
  • 分类
  • 标签
  • 归档
  • 关于

  • 搜索
基础知识 Etcd LeetCode 计算机体系结构 Kubernetes Containerd Docker 容器 云原生 Serverless 项目开发维护 ELF 深入理解程序 Tmux Vim Linux Kernel Linux numpy matplotlib 机器学习 MQTT 网络基础 Thrift RPC OS 操作系统 Clang 研途 数据结构和算法 Java 编程语言 Golang Python 个人网站搭建 Nginx 计算机通用技术 Git

Kubernetes 客户端-Informer 机制

发表于 2023-05-19 | 分类于 Kubernetes | 0 | 阅读次数 1922
前言在网上搜 Informer 的时候,会经常能刷到下面这张图。这张图分为上下两部分,上半部分是 client-go 中 Informer 相关的实现,下半部分是常见 Controller 相关的实现方式。接下去,我们会用两篇的篇幅来分别进行介绍。基础概念API Server 在 Kubernete
阅读全文 »

Kubernetes 客户端-controller client 介绍

发表于 2023-05-12 | 分类于 Kubernetes | 0 | 阅读次数 2367
前言针对下面这张图,上半部分是 client-go 中 Informer 相关的实现,下半部分是常见 Controller 相关的实现方式。本篇主要介绍下半部分常见 Controller 的实现,以及常用 Controller 框架的使用。Controller 实现在使用 Informer 的时候,
阅读全文 »

Kubernetes 客户端-client go 介绍

发表于 2023-04-28 | 分类于 Kubernetes | 0 | 阅读次数 2067
概述client-go package 的源码结构如下所示,$ tree -L 2 client-goclient-go├── discovery# 提供 DiscoveryClient 类型的客户端。├── dynamic # 提供 DynamicClient 类型的客户端。├── inform
阅读全文 »

Kubernetes 核心流程-Watch 流程

发表于 2023-04-25 | 分类于 Kubernetes | 0 | 阅读次数 1817
整体概述API Server 的 Watch 机制主要依赖 etcd 的 Watch 机制,整体如下:API Server 针对每种资源都会在本地维护一个 cacher,通过 etcd 提供的 watch 机制实时更新该 cacher 的内容。客户端针对资源的访问请求,都会优先访问该 cacher。
阅读全文 »

Kubernetes 核心流程- Pod 删除过程

发表于 2023-04-21 | 分类于 Kubernetes | 0 | 阅读次数 3200
整体流程优雅删除 Pod 时,整体流程如下,这里考虑 APIServer 和 kubelet 两个环节:客户端请求删除 Pod,此次请求删除 GracePeriodSeconds 往往会采用默认值 30s。APIServer 收到此次请求,更新 Pod 的信息,设置 Pod 的 DeletionTi
阅读全文 »

Kubernetes 核心流程-Pod 驱逐过程

发表于 2023-04-15 | 分类于 Kubernetes | 0 | 阅读次数 3425
基础驱逐的方式驱逐 Pod 的方式,主要有 2 大类:基于驱逐 API 主动发起的驱逐行为。kubelet 基于节点压力(kubelet 会不断检查节点资源,比如内存、CPU、磁盘),主动发起的驱逐行为,又分为两种硬驱逐。硬驱逐策略定义了节点上资源消耗的绝对限制。一旦实际使用量超过了这些限制,Kub
阅读全文 »

Kubernetes 核心流程-Pod 创建过程

发表于 2023-04-11 | 分类于 Kubernetes | 0 | 阅读次数 2481
基础整体 Pod 创建的核心流程如下,这里只考虑在 kubelet 中的情况。kubelet 收到 Pod 被创建的事件,syncLoop 中按照创建逻辑添加该 Pod。将 Pod 加入 podManager。podManager 子模块负责管理这台机器上的 pod 信息,如果 podManager
阅读全文 »

Kubernetes 核心流程-Exec 流程

发表于 2023-03-28 | 分类于 Kubernetes | 0 | 阅读次数 2137
基础在客户端发起 exec 请求之后,比如 kubectl exec -it 之后,APIServer 向 pod 所在的 kubelet 发送 Exec 请求。kubelet 向 CRI shim 发送 Exec 请求,请求 Exec 的 URL。CRI shim 给 kubelet 返回 Exe
阅读全文 »

Kubernetes 调度原理

发表于 2023-03-17 | 分类于 Kubernetes | 0 | 阅读次数 2702
Kube-Scheduler 的作用是将 Pod 调度到最优的节点上(给 Pod 选择一个最合适的 Node),从而更加合理、更加充分的利用集群的资源基本调度流程整个调度的基本流程如下,Pod 被提交到 API Server,存储到 Etcd 中。调度器会 List&Watch Pod,将
阅读全文 »

Kubernetes CSI-OpenObject 插件实现介绍

发表于 2023-03-03 | 分类于 Kubernetes | 0 | 阅读次数 2861
接下去我们简单来看下一个 CSI Plugin 开源项目的实现,github 地址是:https://github.com/alibaba/open-object。这个 CSI Plugin 实现了将 Minio 作为后端存储。以这个项目为例子,主要的考虑是:(1)它的实现不复杂,整体上的代码量就
阅读全文 »
2 3 4
dawnguo

dawnguo

215 日志
24 分类
37 标签
RSS
Creative Commons
© 2018 — 2025 程序锅
0%