Forrest Hu's Blogs

技术、架构与生活随笔 · 共 449 篇文章

  1. 单元测试的新解读

    前言单元测试,只是测试吗?单元测试除了是一种测试手段外,更是一种改善代码设计的工具,容易写单测的代码往往也具有更加良好的设计。这里需要强调一下 “工具” 属性,工具能放大人的智力或者体力,让干活的时候不会这么累,比如你去种树带把铲子,你肯定不会把铲子当成负担的,因为他是你种...

  2. openkruise cloneset学习

    简介 CloneSet Reconcile 逻辑 整体逻辑 扩缩容 高级特性 原地升级 协程间同步状态 通过操作pod 来影响cloneset的策略openkruise 面向自动化场景的...

  3. controller-runtime源码分析

    简介 整体设计 启动流程 Controller watch start Manager 启动 Reconciler 开发模式 其它 依赖注入 入队器 其它 当我们谈到 k8s...

  4. 《Redis核心技术与实现》笔记

    前言 前言 整体架构 基本设计 键和值用什么结构组织? 底层数据结构 持久化/单机高可用 AOF RDB(Redis DataBase) 主从同步/多机高可用 切片集群 缓...

  5. pv与pvc实现

    简介 为何引入PV、PVC以及StorageClass?——远程存储访问优化 Persistent Volume(PV)和 Persistent Volume Claim(PVC) pv pv&pvc绑定 K8s 持久化...

  6. csi学习

    如何接入 K8s 持久化存储?K8s CSI 实现机制浅析 未读Kubernetes存储方案发展过程概述 最开始是通过Volume Plugin实现集成外部存储系统,即不同的存储系统对应不同的Volume Plugin。Volume Plugin实现代码全都放在了Kube...

  7. 《Prometheus监控实战》笔记

    前言 前言 metric 种类 黄金指标 node-exporter 可靠性与可扩展性 可靠性 大内存问题 可扩展性 存储扩展 其它metric 种类 counter(计数器),始终增加,比如http...

  8. Prometheus 告警学习

    前言 前言 alert rule Alertmanager 模板 路由 其它本文主要来自《Prometheus 监控实战》告警能力在Prometheus的架构中被划分成两个独立的部分。通过在Prometheus中定义Alert...

  9. client-go源码分析

    简介 Informer Reflector Watch event 消费 processor 是如何处理数据的 watch 是如何实现的? resync机制 informer 类图和序列图k8s.io/client-go /rest /inform...

  10. kubelet 组件分析

    简介 pleg probeManager statusManager kubelet 垃圾收集 cadvisor cpu 管理 其它在1.13 版本中,kubelet 大约有13个mannager 保证pod 正常运行// Run starts the kub...