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

【Kubernetes】常见面试题汇总(八)

目录

 

22.简述 Kubernetes 中 Pod 的健康检查方式?

23.简述 Kubernetes Pod 的 LivenessProbe 探针的常见方式?

24.简述 Kubernetes Pod 的常见调度方式?


22.简述 Kubernetes 中 Pod 的健康检查方式?

对 Pod 的健康检查可以通过两类探针来检查:LivenessProbe 和 ReadinessProbe。

(1)LivenessProbe 探针:

- 用于判断容器是否存活(running状态)。

- 如果 LivenessProbe 探针探测到容器不健康,则 kubelet 将杀掉该容器,并根据容器的重启策略做相应处理。

- 若一个容器不包含 LivenessProbe 探针,kubelet 认为该容器的 LivenessProbe 探针返回值用于是“ Success ”。

(2)ReadineeProbe 探针:

- 用于判断容器是否启动完成(ready状态)。

- 如果 ReadinessProbe 探针探测到失败,则 Pod 的状态将被修改。EndpointController将从 Service 的 Endpoint 中删除包含该容器所在 Pod 的 Eenpoint.

(3)startupProbe 探针:

- 启动检查机制,应用一些启动缓慢的业务,避免业务长时间启动而被上面两类探针 kill 掉。


23.简述 Kubernetes Pod 的 LivenessProbe 探针的常见方式?

kubelet 定期执行 LivenessProbe 探针来诊断容器的健康状态,通常有以下三种方式:

(1)ExecAction:在容器内执行一个命令,若返回码为 0,则表明容器健康。

(2)TCPSocketAction:通过容器的IP地址和端口号执行 TCP 检查,若能建立 TCP 连接,则表明容器健康。

(3)HTTPGetAction:通过容器的 IP 地址、端口号及路径调用 HTTP Get 方法,若响应的状态码大于等于 200 且小于 400,则表明容器健康。


24.简述 Kubernetes Pod 的常见调度方式?

Kubernetes 中,Pod 通常是容器的载体,主要有如下常见调度方式:

(1)Deployment 或 RC:

该调度策略主要功能就是自动部署一个容器应用的多份副本,以及持续监控副本的数量,在集群内始终维持用户指定的副本数量。

(2)NodeSelector:

定向调度,当需要手动指定将 Pod 调度到特定 Node 上,可以通过 Node 的标签(Label)和 Pod 的 nodeSelector 属性相匹配。

(3)NodeAffinity 亲和性调度:

亲和性调度机制极大的扩展了 Pod 的调度能力,目前有两种节点亲和力表达:

① requiredDuringSchedulinglgnoredDuringExecution:硬规则,必须满足指定的规则,调度器才可以调度 Pod 至 Node 上(类似 nodeSelector,语法不同);

② preferredDuringSchedulinglgnoredDuringExecution:软规则,优先调度至满足的 Node 的节点,但不强求,多个优先级规则还可以设置权重值。

(4)Taints 和 Tolerations(污点和容忍):

① Taint:使 Node 拒绝特定 Pod 运行;

② Toleration:为 Pod 的属性,表示 Pod 能容忍(运行)标注了 Taint 的 Node。

 


http://www.kler.cn/a/299708.html

相关文章:

  • 房屋租赁系统在数字化时代中如何重塑租赁服务与提升市场竞争力
  • Leetcode:219
  • floodfill算法(6题)
  • 分布式系统架构怎么搭建?
  • arm-linux-gnueabihf安装
  • CentOS 7 搭建lsyncd实现文件实时同步 —— 筑梦之路
  • @antv/x6 限制节点或者子节点的移动范围
  • git的使用和gdb工具
  • Xilinx系FPGA学习笔记(六)RAM的IP核学习
  • uni-app实现web-view和App之间的相互通信
  • BRAS介绍
  • tio websocket 客户端 java 代码 工具类
  • 编译u-boot报错configuration written to .config
  • CCS12.2 以及以上版本如何使用C2000ware 4.03版本,发现直接导入工程不能正确识别地址变量?
  • openssl+keepalived安装部署
  • 基于Java+SpringBoot+Vue+MySQL的美容美发管理系统
  • C语言补习课——文件篇
  • 聚簇索引和二级索引
  • 哪些旋转机械会用到本特利振动传感器
  • iOS的传递链与响应链机制
  • 我是如何将 Java 基础 docker 镜像大小从 674Mb 优化到 58Mb的
  • 解锁中东市场新蓝海:Bigo社交媒体如何赋能APP广告营销优势
  • Ubuntu 22.04 make menuconfig 失败原因
  • 计算机毕业设计选题推荐-班级管理系统-教务管理系统-Java/Python项目实战
  • OpenSNN推文:《从沙粒到超级大脑:一步步揭开芯片的秘密》
  • SprinBoot+Vue兼职发布平台的设计与实现