漫步远方,心荡神往

深入理解 Kubernetes Scheduler Framework 调度框架(Part 1)

Scheduler Framework 框架整体架构与 Pod 调度到 Node 流程插件拓展点

Scheduler 分两个 cycle:Scheduling Cycle 和 Binding Cycle。在 Scheduling Cycle 中为了提升效率的一个重要原则就是 Pod、 Node 等信息从本地缓存中获取,而具体的实现原理就是先使用 list 获取所有 Node、Pod 的信息,然后再 watch 他们的变化更新本地缓存。在 Bind Cycle 中,会有两次外部 api 调用:调用 pv controller 绑定 pv 和调用 kube-apiserver 绑定 Node,api 调用是耗时的,所以将 bind 扩展点拆分出来,另起一个 go 协程进行 bind。调度周期是串行,绑定周期是并行的。本文主要介绍 Scheduler Framework 框架整体架构与 Pod 调度到 Node 流程插件拓展点。 深入理解 Kubernetes Scheduler Framework 调度框架(Par

Sidecar 在 Istio 大规模场景下性能测试

Istio Sidecar Scope 性能测试

Istio XDS 全量下发在大规模场景下存在性能问题 * Istio 全量下发配置会导致数据面/控制面出现性能瓶颈; * 全量下发造成数据面 Envoy 配置庞大,Envoy 内存使用率较大;

Kubernetes CoreDNS 核心原理和源码解析

深入解析 K8S DNS SPEC 规范、Corefile 插件链机制与 kubernetes 插件源码实现

本文深入分析 Kubernetes CoreDNS 核心工作原理:从 Pod 内 /etc/resolv.conf 配置(ndots/search 域解析规则)、K8S DNS SPEC 规范,到 CoreDNS 插件链架构(Corefile 配置、kubernetes 插件源码分析),全面解密集群 Service 域名与 Headless Service 的 DNS 注册与解析流程。

eBPF 探索 Linux 可观测性、网络、安全、性能

eBPF 在云厂商可观测性落地与实践,实现高效定位与诊断棘手问题,本文主要介 eBPF 基础知识、pwru 示例、eBPF 实现原理、eBPF 核心实现流程与常见问题、云厂商 eBPF 产品落地实践等。

eBPF 在 Linux 操作系统中,可以用于安全、网络和性能监控。AWS、Azure 和 Google Cloud 等云厂商 eBPF 相关云产品相继被推出,国内云厂商也有很多的落地与实践,如阿里云、华为云、字节火山引擎、百度智能云等。

pwru: 一款基于 eBPF 的细粒度网络数据包排查工具

在 eBPF(Extended Berkeley Packet Filter)中,pwru 的主要功能是进行性能分析,它可以帮助理解系统中各种内核和用户空间任务的行为。这是通过在内核中执行 eBPF 程序并收集有关系统行为的数据来实现的。

pwru 是 Cilium 推出的基于 eBPF 开发的网络数据包排查工具,它提供了更细粒度的网络数据包排查方案。本文将介绍 pwru 的使用方法和经典场景,并介绍其实现原理。pwru 用于在Linux内核中追踪网络数据包,并具有高级过滤能力。它允许对内核状态进行细粒度的跟踪,并可以用来调试网络连接性问题。