标签: #컨트롤러
用亲手运行、亲手测量的数据来写 Kubernetes、DevOps 与 MLOps · 2 篇
KubeVirt 源码阅读 4:virt-handler — 在节点上使 VMI 达成一致
virt-handler 是每个节点运行一个的控制器,与其他控制器不同,它同时观察两个世界:集群中的 VMI(期望状态)以及 Pod 内 libvirt 的 Domain(实际状态)。我们将在代码中追踪:通过节点标签过滤的 VMI Informer、Pod 内部发送的 Domain 事件以及每 5 分钟的 resync、由 sync() 选出的三个分支(关闭·删除·同步)、只能在 Pod 外部进行的准备工作(挂载 container d
2026-10-16 · 14 分钟阅读 #KubeVirt#쿠버네티스#데몬셋#gRPC#컨트롤러KubeVirt 源码阅读 3:virt-controller — VM 与 VMI 的 reconcile
虽然 virt-controller 中运行着多个控制器,但启动一个 VM 的路径是由两个控制器接力完成的。VM 控制器根据运行策略(runStrategy)来创建或删除 VMI,而 VMI 控制器则通过 template.go 绘制并创建 virt-launcher Pod,当 Pod 准备就绪后,将节点名称写入并交由 virt-handler 处理。我们通过代码追踪了工作队列与期望值(expectations)、syncRunStr
2026-10-16 · 20 分钟阅读 #KubeVirt#쿠버네티스#컨트롤러#reconcile#Go