oceanweave
这个作者很懒,什么都没留下…
展开
-
【k8s 深入学习之 event 聚合】event count累记聚合(采用 Patch),Message 聚合形成聚合 event(采用Create)
【代码】【k8s 深入学习之 event 聚合】event count累记聚合(采用 Patch),Message 聚合形成聚合 event(采用Create)原创 2024-12-03 15:36:53 · 675 阅读 · 0 评论 -
【k8s深入理解之 Scheme】全面理解 Scheme 的注册机制、内外部版本、自动转换函数、默认填充函数、Options等机制
这段代码的作用是将多种与资源操作相关的选项类型(如GetOptions等)注册到Scheme中,以便 Kubernetes API 服务器在处理这些操作时能够识别和正确序列化/反序列化这些类型。这样可以确保 API 请求中的参数能够在不同版本的 API 之间正确处理,并且在资源操作(如列出、获取、创建、删除)时提供灵活的选项。是 Kubernetes API 中列出资源时的参数,允许你控制返回的资源内容、过滤方式、分页和排序。在 Kubernetes Go 客户端中,通过。原创 2024-11-27 18:57:56 · 1149 阅读 · 0 评论 -
【k8s网络】梳理cni发展脉络
设备非专业术语作用Docker0网桥理解为二层交换机,处理包头为 mac 的数据包网络栈存储用于通信的网络设备和规则等(网卡、路由表、iptables规则等)一个 net namespace 可以简单理解为,一个主机–net=host,表示容器共享宿主机的网络栈(此时可理解为两个人共用一套设备),此时可提高通信效率,但可能会端口冲突veth pair网线用于联通不同的 net namespace,可以理解为连接两个主机间的网线。原创 2024-03-25 17:28:33 · 1723 阅读 · 0 评论 -
【k8s-device plugin】如何编写 k8s device plugin
Kubernetes开发知识–device-plugin的实现[Gaia Scheduler] gpu-manager 启动流程分析[Gaia Scheduler] gpu-manager 的虚拟化 gpu 分配流程以 gpu-manager 项目为例,关注了两种资源 vcore 和 vmemory(我为其命名为 dfy.com/vgpu-core 和 dfy.com/vgpu-memory,项目中不是这个名字哈)所以考虑一下几个方面,以 vcore 资源为例。原创 2023-01-05 17:53:09 · 2283 阅读 · 0 评论 -
【K8S源码之Pod漂移】整体概况分析 controller-manager 中的 nodelifecycle controller(Pod的驱逐)
有的话,进行 Pod 的逐个驱逐,检查 Pod 是否有该 Taint 的 toleration,有的话,就根据 toleration 设置 pod 的定时删除;zonePodEvictor 后续用于该 zone 中失联的 Node,用于 Node 级别驱逐(就是驱逐 Node 上所有 Pod,并设置为 evicted 状态,此部分参见)每个 zone 有不同数量的 Node,根据该 zone 中 Node 失联数量的占比,设置不同的驱逐速率。TainManager 的驱逐逻辑,看代码不难理解,大概说明。原创 2023-08-18 18:02:00 · 1490 阅读 · 0 评论 -
【k8s源码分析-Apiserver-2】kube-apiserver 结构概览以及主体部分源码分析
假 设 所 有 的 认 证 器 都 被 启 用 , 当 客 户 端 发 送 请 求 到 kubeapiserver服务,该请求会进入Authentication Handler函数(处理认 证相关的Handler函数),在Authentication Handler函数中,会遍历已启用的认证器列表, 尝试执行每个认证器, 当有一个认证器返回 true时,则认证成功,否则继续尝试下一个认证器。当客户端发起一个请求,经过认证阶段时,只要有一个认证器通过,则认证成功。在客户端请求通过认证之后, 会来到授权阶段。原创 2023-12-25 17:01:01 · 1547 阅读 · 0 评论 -
【k8s源码分析-Apiserver-1】理解 apiserver 的结构(AggregatorServer、KubeAPIServer、ApiExtensionsServer)
Prometheus 项目与Kubernetes项目一样,也来自于 Google 的Borg体系,它的原型系统,叫作 BorgMon,是一个几乎与 Borg 同时诞生的内部监控系统。而 Prometheus 项目的发起原因也跟 Kubernetes 很类似,都是希望通过对用户更友好的方式,将 Google 内部系统的设计理念,传递给用户和开发者。作为一个监控系统,Prometheus 项目的作用和工作方式,其实可以用如下所示的一张官方示意图来解释。可以看到,Prometheus 项目工作的核心,是。原创 2023-12-06 16:11:43 · 991 阅读 · 0 评论 -
【K8S内外部版本】一文了解 Kubernetes 资源内部版本internal与外部版本v1等及Schema注册
以Pod资源代码定义为例,代码示例如下。原创 2024-03-05 11:03:41 · 1382 阅读 · 0 评论 -
【K8S类型系统】一文梳理 K8S 各类型概念之间的关系(GVK/GVR/Object/Schema/RestMapper)
Group 组、Version版本、Namespace 命名空间,这些都很容易理解,都是为了隔离,资源版本隔离(Group、Version)和用户资源隔离(Namespace)Kind 对象类型,如 Kind=Sh 对应 sh 类型文件,Kind=Doc 对应 doc 类型文件Resource 可以理解为 Kind 的含义补充,用于获取真正的资源对象;GVK 专注于类型定义,确定是哪种资源对象,GVR 专注于获取资源对象或对资源对象进行操作;原创 2024-03-01 17:18:07 · 1355 阅读 · 1 评论