#Kubernetes
共 61 篇文章
StatefulSet 使用 Parallel 滚动更新,minReadySeconds 没有等满
新 Pod 刚 Ready,下一实例已更新?核对 Parallel 滚更时间线、1.34.0 修复和实际并发策略,避免强制替换有状态服务。
Kubernetes resourceNames 限权后,get 单个节点成功但 list 报 Forbidden
同一账户能 get 授权节点,节点列表却 Forbidden。核对 list、watch 的 metadata.name 条件及客户端请求,保留既定名称授权范围。
ReadWriteOncePod 卷仍是 root:root,fsGroup 为什么没有生效
CSI 文件系统卷采用 ReadWriteOncePod 和 ReadWriteOnceWithFSType,旧实现可能跳过组权限。核对节点修复、驱动委托及实际目录权限。
authentik 2025.8.1 worker 报 ENOSPC,histogram 文件持续撑大 /dev/shm
worker 反复退出,根目录仍有空间,/dev/shm 的 histogram 文件持续增长。核对 2025.8.2 指标基数修复,避免仅扩大内存卷。
GKE Autopilot 的 cert-manager Webhook 报 unknown authority,先查选主权限
Webhook Pod 在运行,CA 却未注入?核对 cainjector 在 kube-system 的选主拒绝,再调整选主命名空间与匹配权限。
Job 主程序已退出,istio-proxy 仍让任务保持 Running
主容器已退出,普通 containers 中的 istio-proxy 仍运行。检查实际注入结果及 Kubernetes、Istio 版本,再评估原生 sidecar 生命周期。
Traefik 放大 proxy-body-size 后,超过 2 MiB 仍返回 413
Traefik 3.7.1、3.7.5 的 Ingress NGINX 兼容 provider 可能让 Retry 保留旧上限。核对实际次数与状态码条件,再安排包含修复的版本。
HPA 一项自定义指标取不到,另一项下降后仍不缩容
HPA 多路 Object 指标中,一项出现 FailedGetObjectMetric,另一项下降后仍不缩容。核对有效指标、空结果与真实零值,再查稳定窗口。
StatefulSet 回退镜像后,坏版本 Pod 仍卡住更新
模板已回退,坏镜像 Pod 仍挡住 StatefulSet 更新:核对 revision、策略与分区,先恢复好模板,再正常终止已确认的坏实例。
Pod 指定 nodeName 后,WaitForFirstConsumer 的 PVC 一直 Pending
Pod 已指定节点,PVC 仍等 first consumer?核对 nodeName 与延迟绑定,改用调度器识别的节点约束,保留卷、数据和拓扑条件。
Vault Kubernetes 登录失败:检查 audience 与 TokenReview
Vault Kubernetes 登录失败时,分别检查应用 JWT、reviewer JWT、受众和 TokenReview 权限,核对本地令牌轮换与配置恢复条件。
NetworkPolicy 已放行 DNS,查询仍超时:检查 namespaceSelector 的标签
namespaceSelector 匹配标签而非对象名称。核对真实 DNS 路径、Namespace 标签和 peer 层级,在必要端口与目标范围内修正出口许可。
两条 NotIn 仍选中被排除节点:检查 nodeSelectorTerms 的 OR
分在不同nodeSelectorTerms的NotIn条件是OR。对照实际模板层级,将需同时成立的条件放同一term,再核对新Pod与合格节点容量。
runAsNonRoot 报 non-numeric user:镜像用户名不足以验证 UID
镜像只提供用户名时,kubelet可能无法验证非root身份。核对容器有效配置和真实UID/GID,保留runAsNonRoot,再验收文件权限。
Pod 环境变量留下 $(DBHOST):检查 env 定义顺序
env值引用只使用处理时已定义的变量。核对真实Pod与最终模板顺序,先定义DBHOST再组合地址,通过新实例验证,保护连接凭据。
新容器继承了 Started
新容器重启后,liveness 可能因继承旧 Started 状态而提前执行。核对容器 ID 和 kubelet 实现;受控 Pod 替换只能临时避开,回移请求不等于正式修复。
Kubernetes NodePort 报 provided port is not in the valid range
nodePort 超出集群分配范围会在 API 校验阶段被拒绝。区分三种端口字段,使用自动分配或现有范围内固定值,避免误改集群端口范围。
Service 没有 selector,kubectl port-forward 无法转发
无selector的Service可连接外部端点,但kubectl转发需要Pod目标。核实后端,再选择实际Pod或已有授权数据库连接路径。
Kubernetes 的 REDIS_PORT 变成 tcp:// 地址,应用无法解析端口
同名 Service 可能注入 REDIS_PORT 的 tcp 地址,与应用整数端口配置冲突。核对来源,显式配置或按依赖条件关闭 Service 链接。
DaemonSet 删节点标签后,Pod 为何仍被终止
DaemonSet会持续检查节点是否匹配模板。删标签后的Pod终止不由IgnoredDuringExecution或OnDelete阻止,须核对节点资格与管理记录。


