记录一次给企业客户的K8S培训经历(问题复盘小结)

文摘   科技   2024-03-16 21:30   北京  

又是忙碌的一周,给客户(某高新技术产业)做了关于K8S相关的培训,也和甲方运维兄弟们讨论了下如何在日常运维中更好地使用Rancher管理K8S集群。

培训内容

由于是针对项目经理等基础用户的培训,因此重点讲述下K8S基础知识、 简单使用场景,回答下用户在日常使用中遇到的问题。‍‍‍

培训大纲

技术交流:

1.怎么更好地解释pod 与容器的关系?


2. 梳理下 pod生命周期的状态


除了常见的生命周期状态(Pending、Running、Succeeded、Failed 和 Unknown)之外,Pod 还可能具有其他状态,具体取决于其当前的情况和环境。以下是一些其他可能的状态:

  1. ContainerCreating(创建容器中):表示 Pod 中的容器正在创建中,但尚未完全就绪。

  2. Terminating(终止中):表示 Pod 正在被删除,但尚未完全终止。在此状态下的 Pod 可能正在执行终止前的清理工作。

  3. ImagePullBackOff(拉取镜像失败):表示 Pod 中的容器无法拉取所需的镜像。可能是由于镜像不存在、拉取超时等问题导致的。

  4. CrashLoopBackOff(容器崩溃重启):表示 Pod 中的容器处于崩溃循环状态,即容器启动后立即崩溃并尝试重启。这通常是由于应用程序错误或配置问题引起的。

  5. Init(初始化):表示 Pod 中的 Init 容器正在运行,但尚未完成初始化。

  6. PodScheduled(已调度):表示 Pod 已经被调度到节点上,但尚未开始运行。

  7. Preempting(抢占中):表示 Pod 正在被调度到节点上,但需要先抢占其他 Pod 的资源。

  8. Evicted(被驱逐):表示 Pod 已经被系统从节点上驱逐,通常发生在资源不足或节点故障时。


3. Pod与Deployment、Statefulset资源对象等之间的关系、层级描述 ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

4. 客户问的问题,有个多副本的应用, 流量请求到后端发现其中某些pod负载很高,想知道这个流量通过Service是怎么发送给后端pod的?有没有什么平衡的机制?

关键点:Kubemnetes提供了多种负载均衡策略,其中包括RoundRobin、LeastComnecions、SourcePHash等。我们可以通过在Serice对象中添加annotations来配置负载均衡策



5. 新的需求,需要给用户做个基线建议,当资源达到什么使用量的时候需要考虑扩容节点,以此做出个标准

作为个“优秀”的技术咨询,遇到问题别慌,先问问GPT, 哈哈!

开个玩笑,还是得结合实际案例调研下,争取给客户满意的方案!

扫描关注我 ,获取相关培训文档与录屏资料!

云原生SRE
懂点K8S的SRE,关注云原生、DevOps、AI\x26amp;ChatGPT等技术热点
 最新文章