kubernetes 分类归档

共 179 篇文章 · 返回首页

【kube-apiserver】storage.Interface 与 etcd3:codec、prefix 与 CRUD 路径

拆解 kube-apiserver 的 storage.Interface 契约与 etcd3 实现:codec 序列化、pathPrefix/resourcePrefix、value.Transformer 加密边界、GuaranteedUpdate 乐观并发,以及 Watch 到 etcd3 的完整路径。版本锚定 Kubernetes v1.30.3 / etcd v3.5.33。

【kube-apiserver】resourceVersion 与 Revision 映射:mod revision、continue 与一致性读期望

钉 Kubernetes resourceVersion 字段与 etcd mod revision 的对应关系;分析 continue token 的分页语义与成本;说明不同 List 路径的一致性期望差异;以及 410 Gone 与 ErrCompacted 的分列。版本锚定 Kubernetes v1.30.3 / etcd v3.5.33。

【kube-apiserver】Mutating / Validating Webhook:timeout、failurePolicy 与可用性门

钉 K8s v1.30.3 的 MutatingWebhookConfiguration / ValidatingWebhookConfiguration v1:timeoutSeconds、failurePolicy、sideEffects、reinvocationPolicy 字段语义;webhook 慢如何表现为写路径延迟而非 etcd lag;生产可用性门选取;CEL ValidatingAdmissionPolicy 作为内置替代路径;排障证据包。

【kube-apiserver】APF 与 max-in-flight:公平排队、504 与 etcd lag 分列

钉 K8s v1.30.3 的 API Priority and Fairness(APF):FlowSchema 匹配、PriorityLevelConfiguration 公平排队(SFVR)、与旧 max-in-flight flag 的共存关系;429/timeout/504 在 APF 排队、etcd_request_duration_seconds、Admission Webhook 三轴的分列;pkg/util/flowcontrol 路径;APF 与简单 max-in-flight 的运维复杂度争论。

【kube-apiserver】CRD / aggregation / 扩展边界:API 扩展停损线

厘清 CRD v1 与 Aggregated API 两条扩展路径在 kube-apiserver 中的存储与请求分界:CRD 对象存 etcd、conversion webhook 失败如何体现在 Storage 轴,APIService 则把请求转发到外部 Extension Server 可引发 503。明确 scheduler/controller/kubelet 为扩展停损线之外的数据面与控制循环。

【kube-apiserver】运维与升级:HA、flags、graceful shutdown 与 etcd 联检

kube-apiserver 高可用模式:多实例共享 etcd、无需内部 leader election;核心 flag 语义(--etcd-servers、--etcd-servers-overrides、--shutdown-delay-duration、encryption-provider-config);与 etcd/14 的联合升级检查单;Kubernetes 版本偏差策略与 etcd 矩阵指针。

【kube-apiserver】排障五轴:Storage、Watch、Admission、Auth、APF

按 Storage/Watch/Admission/Auth/APF 五轴做症状否证;给出完整五轴命令表与症状→轴映射(504、410、401、403、webhook 超时、List 风暴、OOM);说明 apiserver_request_duration_seconds 等核心 metrics 语义;并提供决策树:何时穿透到 etcd/15,何时留在 apiserver 轴。

【kube-apiserver】选型收束与开放问题:排除树、Kine 与 events 分集群

用机制排除树收束何时查 apiserver 轴、何时穿透 etcd 轴、何时两轴联查;回收 etcd/13 写下的 apiserver 停损线;Kine SQL backend 的 Watch 语义差与 Jepsen 覆盖空白;events --etcd-servers-overrides 分集群运维;列出 watch cache SLO 联合模型、线性读期望与 Lease+fencing 全链路三个开放问题;以 ADR 语言关闭系列边界。

【Envoy Gateway】Policy attachment:五类策略编译到哪一层,mergeType 挂错父资源会发生什么

把 SecurityPolicy、BackendTrafficPolicy、ClientTrafficPolicy、EnvoyExtensionPolicy、EnvoyPatchPolicy 钉到 IR/xDS 层;说明 v1.9 mergeType 只允许挂 xRoute,以及 Lua 默认关闭与 Patch 匹配旧 xDS 名如何表现为「策略写了不生效」。

【Envoy Gateway】EnvoyProxy 与基础设施:谁管数据面生命周期,GatewayNamespaceMode 与 remote infra

钉清 EnvoyProxy CR 与 Infra Manager 对数据面 Pod 的所有权;说明 GatewayNamespaceMode 的 xDS 认证修复、v1.9 remote infrastructure provider 的责任面,以及 mergeBackends 仍是默认关闭的 experimental 能力。

【Tetragon / eBPF】排障坐标系:无事件、策略不生效、导出缺口、误阻断与血缘空洞

按五轴映射 Tetragon v1.7.0 故障:无事件落在 Hook/BTF/加载,策略不生效落在 collectionKey 撞名与 policyfilter,JSON allow/deny 不等于 gRPC,Override 依赖 CONFIG_BPF_KPROBE_OVERRIDE,血缘空洞来自 execve_map 未命中与 procFS 回填。

【Istio 控制面】代理身份与订阅:sidecar、ztunnel、waypoint、Gateway 谁在订阅什么

拆解 istiod 如何从节点 ID 与 mTLS/JWT 得到一个 model.Proxy 身份,以及 NodeType 如何决定该连接会订阅哪一套 xDS 资源类型:sidecar/Router 走标准 LDS/RDS/CDS/EDS,ztunnel 走自定义 Address/Authorization,waypoint 是 Envoy 但推送触发条件不同。

【Istio 控制面】DestinationRule:Cluster 之上的 subset、outlier 与 TLS 挂载

拆解 DestinationRule 如何在 CDS 已生成的 Cluster 之上派生 subset、挂载 connectionPool/outlierDetection/loadBalancer/tls,以及 mesh 默认、DestinationRule 级、port 级、subset 级四层设置的真实合并规则——其中 port 级与 subset 级的继承语义并不对称。

【Istio 控制面】PeerAuthentication / AuthorizationPolicy → filter chain 与 SDS:策略怎么变成 RBAC 与证书

拆解 PeerAuthentication 如何落到入站 filter chain 的 mTLS 要求、AuthorizationPolicy 如何编译成 Envoy RBAC filter 的 permission/principal,以及 istiod CA 签发证书后 istio-agent 作为本地 SDS server 如何把 SPIFFE 身份证书喂给 Envoy;策略语义不重复展开,见零信任系列。