标签: #kubernetes
关于 GPU、LLM、MLOps、Kubernetes 以及心态的文章 · 54 篇
Talos Linux 1.13 — 一个没有 shell 的不可变操作系统,是如何走到发布调试 shell 这一步的
专为 Kubernetes 打造的不可变操作系统 Talos Linux,其 1.13 版本已于 2026 年 4 月 27 日发布。此次发布带来了用 Clang/ThinLTO 构建的内核、可复现的磁盘镜像、机器级别的容器镜像签名验证,以及最具象征意义的功能 — 为一个既没有 shell 也没有 SSH 的操作系统,提供官方调试容器(talosctl debug)。本文以 1.13 的实际发行说明和官方文档为依据,梳理不可变操作系统到
2026-07-17 · 23 分钟阅读 #linux#kubernetes#talos#immutable-infrastructure#devopsFlux 2.9 与 Weaveworks 之后的两年 — 失去赞助商的 GitOps 项目是怎么撑下来的
2024 年初,Flux 的原开发公司 Weaveworks 关门时,GitHub 讨论区里冒出一个问题 — 「这个项目的未来有危险吗?」两年半之后的 2026 年 6 月 30 日,Flux 发布了 2.9.0。本文用可验证的一手资料,重构这期间真正发生的事 — 发布节奏如何动摇又如何恢复(v2.0 到 v2.9 每个次要版本的发布间隔实测)、如今 9 位核心维护者分别隶属何处(以 CORE-MAINTAINERS 文件为准,Cont
2026-07-17 · 18 分钟阅读 #devops#gitops#fluxcd#kubernetes#open-sourceOTel 的 Kubernetes 属性变成 stable 了 — 在 k8sattributes 默认值翻转之前要做的事
OpenTelemetry 的 Kubernetes 语义约定已经在 2026 年 6 月 12 日的 semconv v1.42.0 中晋升为 stable。但 Collector 的 k8sattributes 处理器目前默认值仍是旧模式(v0),所以大多数人什么都没感觉到。问题在于这不是永久的 — 按照 Collector RFC 制定的推进路线,一旦特性开关升到 beta,默认行为就会翻转为仅 v1,k8s.pod.labels
2026-07-16 · 18 分钟阅读 #opentelemetry#observability#kubernetes#semantic-conventions#telemetry-pipelineKubernetes v1.36 的 Workload/PodGroup API — Gang Scheduling 正走进 kube-scheduler
AI 训练与批处理工作负载的 gang scheduling,迄今为止一直是 Volcano、Kueue 这类外部调度器的活儿,但 Kubernetes 已经开始把这项能力搬进核心。v1.35 以 alpha 形式发布了 Workload API 和第一版 gang scheduling 实现,而 2026 年 4 月 22 日发布的 v1.36 则对结构做了大改 — 把 Workload 拆分成静态模板,把新的 PodGroup 拆分
2026-07-16 · 29 分钟阅读 #kubernetes#scheduling#gang-scheduling#distributed-training#dra迁移到 ambient,EnvoyFilter 会被静默忽略 — Istio 1.30 TrafficExtension 补上的缺口,以及仍未补上的缺口
迁移到 ambient 模式时真正卡住的障碍不是资源,而是可扩展性。Istio 官方迁移文档直接写明:EnvoyFilter 在 waypoint 上不受支持,迁移后会被「静默忽略」,如果没有替代方案,这就是一个「迁移阻塞项」。2026 年 5 月 18 日发布的 Istio 1.30,针对这个缺口推出了 TrafficExtension API — 一个把 Wasm 和 Lua 以同样方式挂到 sidecar、网关、waypoint
2026-07-16 · 22 分钟阅读 #kubernetes#istio#service-mesh#envoy#ambient-mesh好工具是隐形的 — gingerBill 的主张与“过于隐形”的工具陷阱
读 Odin 语言作者 gingerBill 的文章《Good Tools Are Invisible》,梳理其论点后再补上来自一线的注脚。他认为好工具应当毫无摩擦地隐入背景,并批评把缺陷当作“解起来有趣的谜题”来兜售的话术。我认同“感觉到的生产力与实际生产力”这一区分,但认为界面看不见和内部运作不透明是两回事。像构建系统和 Kubernetes Operator 那样过于安静的工具,会把失败藏起来。好工具在使用时应当隐形,一旦出故障就
2026-07-11 · 12 分钟阅读 #tools#developer-experience#kubernetes#build-systems#editorsKubeVirt GPU 直通 VM 为何 112 天无法被调度 — 一次真实集群的尸检
一个用 Rust 写的 Operator 下达了"4 个 GPU 节点全部 NotReady"的诊断后,我在真实的 8 节点集群(GPU Operator v25.3.0、KubeVirt v1.7.0)里把这场死亡的病因追查到底。gpu-fedora 与 rhel9-gpu-vm 卡在 ErrorUnschedulable 长达 112 天,真正的原因不是花哨的 GPU 配置,而是 kubelet 的一行错误——"running wi
2026-07-11 · 7 分钟阅读 #kubevirt#gpu#kubernetes#nvidia#devopsCloudNativePG 在 Kubernetes 上跑起 Postgres 再杀掉它 — 实测故障转移 23 秒
在真实的 8 节点 Kubernetes 集群上安装 CloudNativePG(CNPG) v1.30.0,启动一个 3 实例的 Postgres 集群,然后真的把主库杀掉。从引导启动、复制确认,到强制删除主库后的故障转移(23.1 秒内副本晋升、数据零丢失),再到死掉的节点作为副本自愈、恢复到 3/3 — 全过程连同实测日志一并记录。运行在 NFS 存储之上的家庭实验室环境里那些诚实的数字与陷阱,也原样收录。
2026-07-11 · 7 分钟阅读 #cloudnativepg#postgresql#kubernetes#operator#database用 Rust 编写 Kubernetes GPU Operator — 用 kube-rs 诊断真实集群
面对一个 8 节点的实际运行家庭实验室集群(k8s v1.32.5),我用 kube-rs 亲手用 Rust 写了一个 GPU Operator 并跑了起来。我定义了 GpuInventory 自定义资源,并把两个控制器(节点扫描→记录 CR 状态、节点监视→更新 ConfigMap)打包进一个二进制,从集群外部运行。然后是 Operator 真正吐出的结果 — 4 个 GPU 节点中 Ready 为 0 个,也就是整支 GPU 舰队都
2026-07-11 · 8 分钟阅读 #rust#kubernetes#operator#gpu#kube-rsGPU Operator × KubeVirt 完全整理 — 组件、配置、版本,从部分 MIG 到手动 MIG
把 Kubernetes GPU 基础设施的两大支柱整理在一页里。涵盖 GPU Operator 的 operand 构成、ClusterPolicy 配置与版本体系,同时讲解只对节点上部分 GPU 应用 MIG 的自定义配置,以及用 nvidia-smi 手动创建、删除 MIG 的方法。接着介绍在 Kubernetes 上运行虚拟机的 KubeVirt 的四大组件(virt-operator、controller、handler、la
2026-07-09 · 12 分钟阅读 #kubernetes#gpu#kubevirt#mig#nvidiaNVIDIA GPU Operator 完全指南 — 从安装部署到 MIG 分区配置
在 Kubernetes 里手动搭建 GPU 节点的时代已经结束。本文梳理了 NVIDIA GPU Operator 如何用 Operator 模式把驱动、设备插件、监控这一整套栈全部管起来的原理,以及 Helm 安装与验证方法;还有把一张 A100/H100 切分成多个硬件隔离 GPU 来用的 MIG——它的概念、single/mixed 两种策略、基于节点标签的配置、自定义 Profile、以及运维注意事项,配合实际命令从头到尾讲清
2026-07-07 · 12 分钟阅读 #kubernetes#gpu#nvidia#mig#devops用 Rust 编写 Kubernetes Operator(kube-rs)
Kubernetes Operator 是把运维知识写进代码的控制器。本文从原理讲起,梳理 Operator 模式(CRD + 控制器 + reconcile 循环),然后讲如何用 kube-rs 构建真正的 Operator:用 CustomResource 派生宏定义 CRD、Api 与 Controller、watcher、reconcile 函数与 requeue、用 finalizer 处理清理逻辑,以及为什么会选 Rust
2026-06-25 · 17 分钟阅读 #rust#kubernetes#operator#kube-rsKeycloak Kubernetes HA 运维 — Infinispan 集群与无停机部署
在 Kubernetes 上以高可用方式运维 Keycloak 的实战指南。对比 Operator 与 Helm 两种部署方式,梳理 Infinispan 缓存与 JGroups DNSPING、persistent user sessions、26.6 的 zero-downtime rolling patch、资源规格与故障场景应对,并附大量 YAML 示例。
2026-06-12 · 17 分钟阅读 #keycloak#kubernetes#infinispan#ha#devops容器与 Docker 内部完全攻略 — Namespace、cgroups、OverlayFS、seccomp、Capabilities 直到 Kubernetes(2025)
“容器不是轻量级 VM。”在 docker run 这一行命令的背后,运行着 7 种 Linux namespace、cgroups v2、OverlayFS 层、seccomp 过滤器和 Linux capabilities。从 2008 年的 LXC 到 2013 年 Docker 登场、2015 年 OCI 标准化,再到 2024 年现代运行时的演进 — 容器如何在没有 VM 的情况下做出隔离,为什么 Docker 比 VM 快
2026-04-15 · 19 分钟阅读 #docker#container#namespace#cgroups#overlayfsDocker & Kubernetes 入门完全指南 — 从容器到编排
Docker 的原理、Dockerfile 写法、Kubernetes 的核心概念(Pod/Service/Deployment)、Helm 以及实战部署,容器的一切都在这里。
2026-04-12 · 19 分钟阅读 #devops#docker#kubernetes#container#orchestration在 K8s 上运维 DB — CNPG、Percona、Vitess、Helm chart 完全指南
总整理在 Kubernetes 环境中运维数据库的方法。对比 CloudNativePG、Percona Operator、Vitess 以及主流 Helm chart,并分享实战运维经验。
2026-04-11 · 20 分钟阅读 #database#kubernetes#cnpg#postgresql#mysql[Linux] cgroup 完全指南:容器资源控制的核心
全面梳理 Linux cgroup(Control Group)的概念、v1 与 v2 的差异、CPU/内存/IO/PID 限制原理、在 Docker 与 Kubernetes 中的实际用法,以及实战排障。
2026-03-20 · 28 分钟阅读 #linux#cgroups#container#kubernetes#devopsDevOps/SRE 完全精通:从 CI/CD 到 Kubernetes、MLOps
从 DevOps 与 SRE 的核心概念,到 Kubernetes 实战运维、AI/ML 工作流自动化,结合实战代码为你完全精通。
2026-03-17 · 17 分钟阅读 #devops#sre#kubernetes#ci-cd#mlopsAI 时代生存指南 第 1 篇:从开发者转型 DevOps/平台工程师 — 路线图与现实策略
写给害怕被 AI 取代的开发者的现实版职业转型指南。在编码工作被 AI 大量取代的时代,给出转向 DevOps、平台工程、SRE 的具体路线图与学习策略。
2026-03-17 · 26 分钟阅读 #career#devops#ai-era#career-transition#platform-engineeringKubernetes Network Policy 与 Service Mesh 完全指南(Istio、Cilium、Calico 对比)
对比分析在 Kubernetes 环境中利用 Network Policy 实现微服务间流量控制的方法,以及 Istio、Cilium Service Mesh 的架构、实现与运维策略。
2026-03-14 · 23 分钟阅读 #kubernetes#network-policy#service-mesh#istio#cilium