#Kubernetes
共 61 篇文章
Kubernetes ServiceAccount 显示 0 Secrets:旧的取令牌命令不再适用
Kubernetes 1.24 起新建账户不再默认生成长期 token Secret。区分旧字段命令、TokenRequest 与 Pod 投射令牌,核对身份、期限与实际访问。
Kubernetes Job 修改镜像时报 spec.template field is immutable
已有 Job 的容器镜像属于不可原地更新的模板。核对报错路径和旧执行状态,为新版本创建独立 Job,并保留日志、重复执行与回退边界。
CronJob 提示 too many missed start times:区分历史补跑与后续调度
CronJob 出现漏调警告时,区分历史补跑与后续调度,检查控制器版本、启动截止窗口、暂停及并发策略,再核对实际 Job 与业务结果。
Kubernetes Secret 更新报 type: field is immutable:先查同名旧对象
Kubernetes Secret 的 type 更新被拒绝时,先核对同名旧对象和使用者。区分类型不可变与数据不可变,选择新对象并受控迁移引用,保留凭据恢复边界。
Kubernetes 推送了新 latest,apply 却显示 unchanged:镜像更新没有改变 Pod 模板
仓库覆盖 latest 后 Deployment apply 仍显示 unchanged 时,区分 Pod 模板、容器启动拉取策略和实际镜像,采用可追踪版本发布与回退。
Pod 提示 must specify limits.memory:主容器有配置,也要检查 initContainer
主容器已有内存limit,Pod仍被配额拒绝时,核对实际模板中的initContainer和辅助容器,按命名空间策略补齐资源声明。
Ansible 创建 ConfigMap 报 cannot unmarshal object:JSON 内容仍要是字符串
Ansible 创建 ConfigMap 报 cannot unmarshal object,先核 data 文件值的最终类型,以 JSON 序列化保留字符串,并区分 2.19 模板引擎变化。
Kubernetes apply 报 spec.selector field is immutable:保留已有 Deployment 的选择器
apps/v1 Deployment 更新被 spec.selector 不可变校验拒绝。对照服务器选择器,普通发布保留旧选择范围,需要迁移时安排新对象与流量回退。
CronJob 固定晚八小时:Pod 的 TZ 不会改变控制器调度时区
CronJob 稳定偏差八小时,Pod 的 TZ 无法改变控制器计划。核对 Job 计划时间,Kubernetes 1.27 起在 spec.timeZone 指定时区,保留旧集群与夏令时边界。
StatefulSet 设置 restartPolicy: Never 被拒绝:一次性任务需要另选控制器
StatefulSet 拒绝 Never 时,区分长期服务与一次性任务,按 Job 完成和重试规则调整控制器,并保留存储迁移与业务去重条件。
HPA 的 CPU TARGETS 一直 unknown:有使用量,还要有 requests
HPA CPU TARGETS 显示 unknown 时,按 missing request 与指标缺失分开检查,核对实际容器 requests、采集接口及扩缩容行为。
Pod 只写 stdout 也被 Evicted:日志会计入 ephemeral-storage
Pod 只输出日志也可能超过 ephemeral-storage;核对驱逐原因、CRI 日志保留、实际用量与容器预算,再安排采集和容量调整。
Kubernetes 探针同时写 httpGet 和 exec 被拒绝:选择一个 handler
Kubernetes 同一探针同时配置 httpGet 与 exec 被拒绝时,选择一个 handler,按是否接流量或需要重启组织检查,保留工具和超时前提。
Namespace 一直 Terminating:先修复 APIService 发现失败
Namespace 删除一直 Terminating 且发现失败时,按 conditions 定位 APIService 与后端发现路径,区分旧兼容缺陷和当前服务故障,不直接清空 finalizer。
Secret 设置 0400 却变成 0440,JMX 拒绝密码文件:核对 fsGroup
Secret 密码文件从 0400 变为 0440 时,检查 fsGroup 与实际属主,按 JMX 限制准备应用私有文件,并处理启动失败和密码轮换。
Kubernetes 私有镜像报 ImagePullBackOff:Secret 必须和实际 Pod 在同一命名空间
私有镜像在其他工作负载能拉取,新 Pod 却 ImagePullBackOff。核对实际 namespace、Secret 引用与遗留同名对象,不把凭据跨空间使用。
ECK 修改存储模板报 Any other change is forbidden:先区分扩容与换盘
ECK 更新 volumeClaimTemplates 被拒绝时,对照已有 NodeSet 判断扩容、换 StorageClass 和减小容量,按 Operator 管理流程处理并保护数据。
开启 hostNetwork 后 Service 名称解析失败:ClusterFirst 可能退回节点 DNS
普通 Pod 能解析 Service,hostNetwork Pod 却失败时,检查 ClusterFirst 是否退回节点 DNS。按 Linux 适用条件设置策略,并区分命名空间与 DNS 可达性。
ConfigMap 已修改,Pod 环境变量仍是旧值:更新不会自动替换进程环境
通过ConfigMap注入的环境变量不会随对象更新自动刷新。核对消费方式,评估rollout与版本化配置,并避免把Deployment回滚当作数据回滚。
NodePort 改成 Local 后部分节点不通:检查本地端点与负载均衡
externalTrafficPolicy 为 Local 时,全局有后端也不能让无本地端点的节点转发;核对 EndpointSlice 与外部负载均衡检查,并保留源 IP 需求。


