JVM 调优与容器化部署:GC、JFR 与 Docker
Clojure 服务的 JVM 调优与容器化部署实践:堆与 GC 选型(G1、ZGC、Shenandoah)、关键 JVM 参数、JFR 与 JMC 诊断、容器内存与 CPU 感知、Dockerfile 分层构建与 Kubernetes 资源配置、优雅停机与健康探针。
tag
Clojure 服务的 JVM 调优与容器化部署实践:堆与 GC 选型(G1、ZGC、Shenandoah)、关键 JVM 参数、JFR 与 JMC 诊断、容器内存与 CPU 感知、Dockerfile 分层构建与 Kubernetes 资源配置、优雅停机与健康探针。
从信任链到自动化轮换与过期治理:详解 PKI 体系结构、X.509 证书与 CSR 签发、ACME 与 cert-manager 自动化、证书透明度与吊销(OCSP Stapling)、mTLS 内部 PKI 及过期监控与告警的完整落地实践。
讲解 MongoDB Community Operator 与 MongoDB Controllers for Kubernetes 的架构差异,给出 Helm 部署、MongoDBCommunity 资源定义、副本集与分片拓扑、TLS 与 SCRAM 认证、S3 备份和滚动升级的完整运维实践
系统讲解 Actions Runner Controller(ARC)在 Kubernetes 上托管自托管 Runner 的架构与调优,涵盖 AutoscalingRunnerSet 配置、基于 KEDA 的队列驱动扩缩、scale-to-zero、临时 Runner、Spot 节点成本优化以及可观测性与故障排查。
Redis on Kubernetes Operator 运维实战:CRD 与控制器协调循环、Spotahome RedisFailover 与 Opstree 及官方 Operator 对比、StatefulSet 与 PVC 编排、Pod 反亲和与拓扑分布约束、PDB 保障、Sentinel 与 Cluster 的节点发现与 announce-ip 陷阱、扩缩容与槽位迁移、备份与监控接入
推理服务的扩缩容比普通 Web 服务难得多:GPU 昂贵、模型加载慢、并发数比 QPS 更能反映压力。用 CPU 利用率做 HPA 指标,往往扩不起来或扩过头。本文讲清推理扩缩容的指标选择(队列深度/KV cache/GPU 利用率)、KEDA 与 HPA 实践、冷启动瓶颈与优化、缩容到零与预热池设计,以及多级伸缩架构。
系统梳理 Kubernetes 的证书体系与自动轮换:控制面证书清单与 kubeadm certs 命令、kubelet TLS Bootstrap 与证书自动轮换、ServiceAccount Token 从 Secret 到 TokenRequest 投影卷的演进、cert-manager 的 Issuer/Certificate/Ingress 集成,以及证书过期告警实践。
系统梳理 Kubernetes 的 Sidecar 模式:代理、日志采集、配置同步等经典用法,init 容器与边车的语义差异,v1.29 原生边车容器(restartPolicy: Always 的 init 容器)如何解决 Job 卡死与启停顺序问题,容器生命周期钩子与优雅终止顺序,以及资源共享、调度与反模式规避。
讲透 Kubernetes 集群 DNS:CoreDNS 的 Corefile 与插件链执行顺序、Service/Pod/Headless 三类 DNS 记录的命名规则、resolv.conf 中 search 域与 ndots:5 导致的解析放大问题、NodeLocal DNSCache 的部署与收益、CoreDNS 高可用与性能调优,以及 DNS 超时与 SERVFAIL 的排障方法。
系统讲解 Kubernetes 背后 etcd 的运维要点:key 布局与 MVCC revision、Raft 选主与奇数节点拓扑、snapshot save/restore 的完整备份恢复流程、compaction 与 defrag 的区别及自动化、quota-backend-bytes 与 NOSPACE 告警处理、磁盘 fsync 与网络参数调优,以及核心监控指标与故障定位。
拆解 kube-apiserver 的内部结构:从认证、鉴权、准入、校验到持久化 etcd 的完整请求链路,Mutating/Validating 准入插件与动态 Webhook 的执行顺序,watch cache 与 resourceVersion 的一致性语义,API 优先级与公平性(APF)的 FlowSchema 调优,以及聚合层与高可用部署要点。
深入剖析 kubelet 的内部工作机制:从 list-watch 同步 Pod、PLEG 生成生命周期事件、CRI 对接 containerd/CRI-O 运行时,到 liveness/readiness/startup 探针的执行细节、节点压力驱逐的软硬阈值与驱逐顺序、cgroup v2 资源落地,以及 crictl、journalctl 的节点级排障方法。
用 Kubernetes 控制平面管理云资源:Crossplane 的托管资源与 ProviderConfig、复合资源与组合模板、Provider 体系与 Functions、持续协调循环消除漂移,以及与 Terraform 的边界划分与选型取舍。
讲解 NGINX 容器化部署的镜像精简与安全加固实践,覆盖多阶段构建与基础镜像选型、非 root 运行与只读根文件系统、能力裁剪与安全上下文、配置注入与健康探针、资源限制与结构化日志输出,以及 SBOM 与镜像签名等供应链环节与上线前加固清单。
GitHub Actions 与 Kubernetes GitOps 部署实战:CI 与 CD 职责切分、镜像标签与 digest 策略、GitOps 仓库分层与 Kustomize 覆盖、ArgoCD Application 与 ApplicationSet、Flux GitRepository 与 Kustomization、Actions 更新 manifest 的三种做法、Argo Rollouts 金丝雀、推送式部署取舍、漂移检测与回滚
滚动更新最容易丢请求的三个时间差:SIGTERM 与 endpoint 摘除不同步、排空期太短、SIGKILL 提前到场。本节用 preStop 钩子与 terminationGracePeriodSeconds 补齐时间预算,实测在途请求在收到 SIGTERM 后仍完整跑完并返回 200。
把 TaskHub 的配置与镜像解耦:用 ConfigMap 注入非敏感配置、用 Secret 管密钥(并说清 base64 不等于加密),用 HPA 让副本数跟着 CPU 与自定义指标自动伸缩;实测环境变量与文件挂载两种注入方式都能被进程读到。
把 TaskHub 的镜像部署进 Kubernetes:用 Deployment 管副本、Service 做稳定入口、Ingress 接外部流量,并逐个字段解释三类探针的语义与取舍,实测探针端点在正常与排空两种状态下分别返回 200 与 503。
系统讲解 BEAM 应用的容器化部署:Mix release 构建与产物结构、多阶段 Dockerfile 与镜像瘦身、runtime.exs 与 RELEASE_* 运行时配置、节点命名与 EPMD 陷阱、libcluster 的 K8s DNS 与 gossip 策略,以及滚动升级、优雅停机和健康检查。
第 50 章「自愈游戏服务器(Self-healing Game Server)」属于第 5 层概念原型,承接第 49 章的异常检测结果,把「发现问题」推进到「自动修复」。核心是 Health Probe 判定实例健康、Operator 控制器执行驱逐与重调度,并在重启前后保住玩家状态。本页给出该章的定位、验证目标、技术栈建议与文章入口。