当前位置: 首页 > backend >正文

【Kubernetes】知识点2

15. 什么是Pod的根容器?

答:Pod 的根容器是每个 Pod 中默认存在的一个特殊容器pause容器,有时也称为infra容器,它是Pod 启动时创建的第一个容器,也是整个 Pod中所有容器的 “父容器”。其核心作用是为 Pod 内的所有容器提供共享的网络命名空间(Network Namespace)和 PID 命名空间(PID Namespace),并维持Pod的生命周期。

16. 解释Pod的生命周期。

答:Pod的生命周期是指从 Pod 被创建到最终被删除的完整过,起始于Pending阶段,如果至少其中有一个主要容器正常启动,则进入Running,之后取决于Pod中是否有容器以失败状态结束而进入succeeded或者Failed.

-Pending (挂起): Pod 已被K8s系统接受,但有个或者多个容器镜像尚未创建。等待时间包括调度Pod的时间和通过网络下载镜像的时间。

-Running(运行中):该Pod 已经绑定到了一个节点上,Pod 中所有的容器都已被创建,至少有一个容器正在运行,或者正处于启动或重启状态。

-Succeede(成功): Pod中的所有容器都被成功终止,并且不会再重启。

-Failed (失败): Pod中的所有容器都己终止了,并且至少有一个容器是因为失败终止,即容器以非0状态退出或者被系统终止。

-未知(Unknown):因为某些原因无法取得 Pod 的状态,通常是因为与Pod所在主机通信失败。

17. Init类型容器有什么特点,主要用途?

答:特点:Init容器是一种特殊容器,它在Pod内的应用容器启动之前运行,容器会按定义的顺序依次运行,如果Pod的Init容器失败,则kubelet会不断地重启该Init容器直到成功为止。但如果Pod对应的restartPolicy值为“Never", 同时Pod的Init容器启动失败时,则Kubernetes会将整个Pod状态设置为失败。

用途:等待依赖服务就绪;初始化配置;预处理数据;权限与安全隔离等。如业务容器需要连接的数据库、缓存服务等尚未启动时,Init 容器可以循环检测依赖服务的可用性(如通过curl或nc命令),直到依赖就绪后才退出,确保业务容器启动时能正常连接依赖。

18. Sidecar类型容器和Init容器的区别在哪?

答:Sidecar容器(并排容器)与业务容器并行启动,为业务容器提供 “伴随式” 辅助功能

Init容器仅在业务容器启动之前运行,且严格按定义顺序执行,一旦完成初始化任务就会终止(退出),业务容器才会启动。

19. 什么是静态Pod?

答:静态 Pod(Static Pod)是一种由节点上的kubelet守护进程直接管理的特殊 Pod,静态 Pod 严格绑定在某个特定节点上,无法被调度到其他节点,其生命周期与所在节点的 kubelet 进程强关联

20. 说明K8s控制器的作用?

答:K8s控制器是集群的核心组件,用来持续监控集群的当前状态,并不断调整以匹配用户定义的期望状态。

21. 什么是ReplicaSet,说明它的主要用途。

答:ReplicationController用来确保在任何时候都有特定数量的Pod副本处于运行状态。换句话说, ReplicationController能够确保一个Pod或一组同类的Pod总是可用的。

ReplicaSet的目的是维护一组在任何时候都处于运行状态的Pod副本的稳定集合。因此,它通常用来保证给定数量的、完全相同的Pod的可用性。推荐使用配置了Replica Set的Deployment来建立副本管理机制。

22. Deployment控制器是如何工作的,举例说明其常见用途。

答:Deployment 控制通过管理ReplicaSet来间接管理 Pod,实现无状态应用的创建、更新、扩缩容和回滚等全生命周期管理。Deployment 的核心逻辑基于 “声明式配置” 和 “滚动更新策略。

常见用途:1)创建 Deployment 以将 ReplicaSet 上线。

2) 通过更新 Deployment 的 PodTemplateSpec,声明 Pod 的新状态 。

3) 回滚到较早的 Deployment 版本。

4) 扩大 Deployment 规模以承担更多负载。

23. 解释DaemonSet,列举其使用场景。

答:DaemonSet 会自动在集群的所有节点上创建 Pod,且每个节点仅运行一个副本。当新节点加入集群时,DaemonSet 会自动在新节点上部署对应的 Pod;当节点从集群移除时,该节点上的 DaemonSet Pod 会被自动删除。

使用场景:节点监控与日志收集;安全代理与审计工具;负载均衡与流量转发等。

24. 什么是StatefulSet,其主要作用是什么?

答:StatefulSet控制器用来管理基于相同容器规约的一组Pod。但和Deployment不同的是, StatefulSet为它的每个Pod维护了一个有粘性的ID。这些Pod是基于相同的规约来创建的,但是不能相互替换:无论怎么调度,每个Pod都有一个永久不变的ID。

主要作用:保证实例标识的唯一性与稳定性;确保数据的持久化与一致性;支持有序操作,降低集群风险

http://www.xdnf.cn/news/19680.html

相关文章:

  • 【数学建模学习笔记】时间序列分析:LSTM
  • Vue 3 + TypeScript 现代前端开发最佳实践(2025版指南)
  • 【完整源码+数据集+部署教程】PHC桩实例分割系统源码和数据集:改进yolo11-Faster-EMA
  • 黄金金融期货数据API对接技术文档
  • nmap扫描端口,netstat
  • 土地退化相关
  • Axure: 平滑折线图
  • Apache Doris:重塑湖仓一体架构的高效计算引擎
  • 文件页的预取逻辑
  • 小兔鲜儿项目
  • 树莓派网页监控
  • 从 Arm Compiler 5 迁移到 Arm Compiler 6
  • 2025 随身 WIFI 行业报告:从拼参数到重体验,华为 / 格行 / 中兴技术差异化路径解析
  • 梳理一下 @types/xxx
  • java面试中经常会问到的多线程问题有哪些(基础版)
  • think
  • ubuntu系统设置中文失败问题
  • grpc-swift-2 学习笔记
  • 均匀分布直线阵的常规波束形成方位谱和波束图
  • (Arxiv-2025)ConceptMaster:基于扩散 Transformer 模型的多概念视频定制,无需测试时微调
  • 【2025终极对决】Python三大后端框架Django vs FastAPI vs Robyn,你的选择将决定项目生死?
  • [光学原理与应用-366]:ZEMAX - 用成像原理说明人眼为什么能看清物体?
  • 两款超实用办公插件推荐:Excel聚光灯与Word公文排版
  • MySQL 多表查询方法
  • Spring Boot 全局字段处理最佳实践
  • mysql初学者练习题(从基础到进阶,相关数据sql脚本在最后)
  • 59.螺旋矩阵II
  • 框架-SpringMVC-1
  • WPF中的静态资源和动态资源
  • 支付系统设计模式应用:从单例到观察者模式实践