以下是 Kubernetes 常见问题(FAQ)的整理,涵盖了初学者和运维人员常遇到的痛点:


一、部署与安装问题

  1. 安装太复杂?​

    • 解决方案:使用 ​kubeadm​(官方工具)、Minikube​(单节点本地开发)、Kind​(Docker容器模拟集群)或云托管的K8s服务(如EKS/AKS/GKE)。
    • 避坑:国内环境注意镜像源替换(如阿里云镜像仓库)。
  2. 节点状态 NotReady?​

    • 检查方向​:
      • 网络插件未安装(如Calico/Flannel运行异常)。
      • kubelet 服务崩溃(systemctl status kubelet)。
      • 节点资源不足(内存/CPU耗尽)。

二、日常操作问题

  1. 如何快速查看资源状态?​

    kubectl get pods -n <namespace>          # 查看Pod
    kubectl describe pod <pod-name>          # 排查Pod详情(事件、错误日志)
    kubectl logs <pod-name> -c <container>   # 查看容器日志
    kubectl top nodes/pods                   # 监控资源占用
  2. 误删了资源怎么办?​

    • K8s部分资源支持优雅删除(如Deployment会重建Pod),但关键数据(如未备份的PersistentVolume)可能永久丢失。
    • 预防措施​:
      • 启用 ​命名空间隔离​ 和 ​RBAC权限控制
      • 使用 ​Velero​ 定期备份整个集群。

三、配置与调试问题

  1. Pod卡在 Pending 状态?​

    • 常见原因​:
      • 资源不足(节点无足够CPU/内存)。
      • 未匹配NodeSelector/Affinity(如指定了GPU节点但不存在)。
      • PersistentVolumeClaim(PVC)绑定失败(存储类不可用或容量不足)。
  2. Service无法访问?​

    • 排查步骤​:
      1. 检查Service的Endpoints是否正常:
        kubectl get endpoints <service-name>
      2. 验证Pod是否Ready(Readiness Probe可能失败)。
      3. 网络策略(NetworkPolicy)是否拦截流量。

四、存储与数据问题

  1. PV/PVC绑定失败?​

    • 检查StorageClass配置(如AWS EBS需IAM权限)。
    • 动态存储需云提供商支持,静态PV需手动创建。
  2. 容器内文件修改后丢失?​

    • 默认容器文件系统是临时的!​必须用Volume持久化数据​:
      • 临时存储:emptyDir
      • 持久存储:PersistentVolumeClaim
      • 配置挂载:ConfigMap/Secret

五、升级与运维问题

  1. 滚动更新卡住?​

    • 原因​:
      • 新版本Pod启动失败(如配置错误)。
      • maxUnavailable设得过低(默认25%)。
    • 强制回滚​:
      kubectl rollout undo deployment/<deployment-name>
  2. 如何安全扩缩容?​

    • 手动:kubectl scale deployment/<name> --replicas=5
    • 自动(HPA):基于CPU/内存或自定义指标自动扩缩。

六、概念混淆问题

  1. Deployment vs StatefulSet vs DaemonSet?​

    类型用途典型场景
    Deployment无状态应用Web服务、API
    StatefulSet有状态应用(需稳定网络/存储)MySQL、Elasticsearch
    DaemonSet每个节点运行一个副本日志收集(Fluentd)、节点监控
  2. ConfigMap vs Secret?​

    • ConfigMap:存储非敏感配置(如环境变量)。
    • Secret:存储敏感数据(密码/TLS证书),​需加密存储​(启用Etcd加密)。

七、高级问题

  1. 如何调试网络?​

    • 工具链:
      • kubectl exec进入Pod测试DNS解析。
      • calicoctl诊断网络策略。
      • 集群级工具:Weave Scope、Istio可视化。
  2. K8s集群性能瓶颈在哪?​

    • 监控方案​:
      • 内置工具:Metrics Server + kubectl top
      • 完整方案:Prometheus + Grafana(监控APIServer/Etcd/节点资源)。

避坑指南

  • 镜像拉取失败​:检查imagePullSecrets(私有仓库认证)。
  • Pod不断重启​:查看CrashLoopBackOff日志(通常应用启动错误)。
  • 资源限制泄漏​:为Pod设置resources.limits,避免节点雪崩。

💡 ​学习建议​:

  • 实验环境:用 Minikube 快速尝试基础操作。
  • 官方文档:查看 kubernetes.io/docs 的 ​Tasks​ 和 ​Troubleshooting​ 板块。
  • 实战工具:k9s(终端管理工具)、Lens(桌面IDE)。

遇到具体问题时可结合kubectl describe和事件日志精准定位!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/92111.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/92111.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/92111.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RK Android14 新建分区恢复出厂设置分区数据不擦除及开机动画自定义(一)

文章目录 前言 一、分区创建与参数配置 二、分区挂载配置 三、SELinux 安全策略 四、系统初始化配置 五、开机动画路径重定向 总结 前言 本方案通过在 RK3568 Android 14 系统中创建一个独立的 rk_partition 分区(128MB),实现以下核心功能: 出厂设置保护:该分区在恢复出厂…

如何快速给PDF加书签--保姆级教程

买的电子书没有目录书签看着不舒服&#xff0c;手动加书签加到想吐。想有没有办法快速加书签。这要分为PDF目录部分可以被复制和不可被复制两种情况。不可复制时&#xff0c;要用到工具把目录提取出来&#xff0c;变成文字。 工具&#xff1a;Foxit Phantom福昕阅读器&#xff…

Redis面试精讲 Day 9:Redis模块开发与扩展

【Redis面试精讲 Day 9】Redis模块开发与扩展 文章标签 Redis,模块开发,扩展机制,面试技巧,Redis模块,Redis插件 文章简述 本文是"Redis面试精讲"系列第9天&#xff0c;聚焦Redis模块开发与扩展机制。文章详细解析Redis模块系统的架构设计&#xff0c;包括模块加…

八股训练--Spring

目录 一、引言 二、Spring 1.Spring框架的特性 2.介绍一下IOC和AOP 3.IOC和AOP都是如何实现的 4.怎么实现依赖注入 5.为什么AOP不用静态代理 6.介绍一下反射 7.Spring如何解决循环依赖问题 8.Spring常用注解 9.Spring事务什么情况会失效 10.Bean的生命周期 11.Bean…

无公网环境下在centos7.9上使用kk工具部署k8s平台(amd64架构)

文章目录前言一、环境列表二、思路三、环境准备四、有网环境下准备文件1.下载所需的rpm包2.准备harbor需要用到的镜像3. k8s的镜像文件4、 生成离线安装包5、harbor创建项目脚本五、无公网环境部署单点集群1、基础环境安装2、安装harbor3 、 准备k8s镜像4、安装k8s六、无公网环…

Objective-C中非传统设计模式的探索与实践

本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;Objective-C的设计模式不仅仅局限于经典模式&#xff0c;还可以利用其动态特性实现一些非传统的模式。本文介绍了一系列基于Objective-C动态特性的设计模式&#xff0c;包括使用协议代替类继承、通过分类扩展类…

【笔记】重学单片机(51)(下)

中断系统 正常运行过程中&#xff0c;被打断进行另外工作&#xff0c;结束后回到原有进程。 5个中断源 外部中断源&#xff08;2个&#xff09;&#xff1a;INT0——由P3.2端口线引入&#xff0c;低电平或下降沿引起。INT1——由P3.3端口线引入&#xff0c;低电平或下降沿引起。…

Go实现程序启动器进而实现隐藏真实内容

注意&#xff1a; 本文内容于 2025-08-03 01:10:35 创建&#xff0c;可能不会在此平台上进行更新。如果您希望查看最新版本或更多相关内容&#xff0c;请访问原文地址&#xff1a;Go实现程序启动器进而实现隐藏真实内容。感谢您的关注与支持&#xff01; 突发奇想&#xff0c;…

Fiddler 中文版怎么用 实现接口抓包调试与前后端联调闭环

API调试在现代开发流程中的地位愈发重要&#xff1a;接口数量激增、请求逻辑复杂、数据结构多变、安全校验机制加严……一个小小的参数错误、一次隐蔽的跨域问题、一个环境配置疏漏&#xff0c;都可能导致长时间的排查成本。而拥有一款既强大又易用的调试工具&#xff0c;尤其是…

ollama 多实例部署

如果我们需要在一台服务器上使用多个ollama服务&#xff0c;那么我们需要进行将ollama前端和ollama后端对应连接的操作&#xff0c;否则就会出现如下场景&#xff1a;我们可以在当前端口设置&#xff0c;这句话就是指明当前ollama实例使用哪个后端进行请求&#xff1a;export O…

orchestrator部署

场景&#xff1a; 用于管理MySQL高可用 下载jq包 每台orchestrator集群机器上都进行下载。 # wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # rpm -ivh epel-release-latest-7.noarch.rpm # yum repolist ###检查是否已经添加到源列表 # yum i…

CentOS 6.4 上安装 Oracle 10.2.0.1 并升级到 10.2.0.4

目录 一、系统检查与设置 1. 检查系统版本与磁盘空间 2. 修改系统参数 3. 创建组和用户 4. 设置主机名 5. 检查安装软件包 6. 设置 oracle 用户环境变量 二、安装 Oracle 软件包 1. 安装 10.2.0.1 安装包 2. 安装 10.2.0.4 补丁 三、建库 四、配置监听器 1. 编辑配…

【基于C# + HALCON的工业视系统开发实战】二十六、车规级PCB全自动质检:3D SPI+AI光学检测融合方案

摘要&#xff1a;本文详细阐述基于C# .NET Core 6与HALCON 24.11开发的车规级PCB板AOI智能检测系统&#xff0c;提出3D SPI与AI光学检测融合方案。系统通过结构光3D测量技术实现锡膏印刷质量检测&#xff0c;结合多算法融合的自动光学检测完成元件缺陷识别&#xff0c;构建SPI与…

Go源码解读——互斥锁与读写锁

互斥锁Mutextype Mutex struct {// 表示互斥锁状态state int32// 表示信号量&#xff0c;协程阻塞等待该信号量&#xff0c;解锁的协程释放信号量从而唤醒等待信号量的协程sema uint32 }Locked: 表示该Mutex是否已被锁定&#xff0c;0&#xff1a;没有锁定 1&#xff1a;已被锁…

Linux(centos)安全狗

sdui进入操作页面 [rootlocalhost safedog_an_linux64_2.8.32947]# sdui维护 查看、启动或停止服务。 [rootiZbp1f0xuq9rc41s6gdvfyZ /]# systemctl status safedog [rootiZbp1f0xuq9rc41s6gdvfyZ /]# systemctl start safedog [rootiZbp1f0xuq9rc41s6gdvfyZ /]# systemct…

ES9 / ES2018 正则表达式增强

✅ 一、命名捕获组&#xff08;Named Capture Groups&#xff09;给捕获结果起名字&#xff0c;更易读、更易维护。&#x1f539; 传统写法&#xff08;位置识别&#xff09;&#xff1a;const result /(\d{4})-(\d{2})-(\d{2})/.exec("2025-07-31"); console.log(…

深入Java开发:Token的全方位解析与实战指南(下)

深入Java开发&#xff1a;Token的全方位解析与实战指南&#xff08;下&#xff09; 上一篇 深入Java开发&#xff1a;Token的全方位解析与实战指南&#xff08;上&#xff09; 五、Token 的生命周期与管理 5.1 Token 的生命周期状态 Token 的生命周期涵盖了从创建到最终失效…

第二十四天(数据结构:栈和队列)队列实践请看下一篇

栈和队列栈 &#xff1a; 是限定在表尾进行插入和删除操作的线性表实现是一回事&#xff0c;但是必须要满足栈的基本特点它的设计思路是:先进后出&#xff0c;后进先出栈有两端1 栈顶(top) &#xff1a;插入数据删除数据都只能在这一端访问也只能访问栈顶2 栈底(bottom) : 栈底…

三、Spark 运行环境部署:全面掌握四种核心模式

作者&#xff1a;IvanCodes 日期&#xff1a;2025年7月25日 专栏&#xff1a;Spark教程 Apache Spark 作为统一的大数据分析引擎&#xff0c;以其高性能和灵活性著称。要充分利用Spark的强大能力&#xff0c;首先需要根据不同的应用场景和资源环境&#xff0c;正确地部署其运行…

【Django】-2- 处理HTTP请求

一、request 请求 先理解&#xff1a;Request 是啥&#xff1f;用户访问你的网站时&#xff0c;会发一个 “请求包” &#x1f4e6; &#xff0c;里面装着&#xff1a;想访问啥路径&#xff1f;用啥方法&#xff08;GET/POST 等&#xff09;&#xff1f;带了啥头信息&#xff0…