K8S面试题学习2
参考做的个人总结,规划是每天看10题,thx!
参考K8S面试题(史上最全 + 持续更新)_kubernetes常见面试题-CSDN博客做的个人总结,规划是每天看10题,thx!
1. k8s中命名空间的作用是什么?
namespace主要用来实现不同环境/多租户的资源隔离
k8s通过将集群内部的资源分配到不同的namespace,可以形成逻辑上的隔离,不同的namespace可以存在同名的资源。
2. pod是什么?
pod是k8s中可以创建和管理的最小单元,是多个容器的集合,是资源对象模型中由用户创建或者部署的最小资源对象模型。
3. pod的原理是什么?
在微服务的概念里,一个容器会被规划为一个进程,这样就不能将多个进程聚集到同一个单独的容器中,所以需要一种更高级的结构将容器绑定在一起,并将它们作为一个单元进行管理,这就是k8s中pod的背后原理。
4. pod有什么特点?
1.每个pod就像一个独立的逻辑机器,k8s会为每个pod分配一个集群内部唯一的IP地址,所以每个pod都拥有自己的IP地址、主机名、进程等;
2.一个pod可以包含1个或多个容器,1个容器一般被设计成只运行1个进程,1个pod只可能运行在单个节点上,即不可能1个pod跨节点运行,pod的生命周期是短暂,也就是说pod可能随时被消亡(如节点异常,pod异常等情况);
3.每一个pod都有一个特殊的被称为"根容器"的pause容器,也称info容器,pause容器对应的镜像属于k8s平台的一部分,除了pause容器,每个pod还包含一个或多个跑业务相关组件的应用容器;
4.一个pod中的容器共享network命名空间;
5.一个pod里的多个容器共享pod IP,这就意味着1个pod里面的多个容器的进程所占用的端口不能相同,否则在这个pod里面就会产生端口冲突;既然每个pod都有自己的IP和端口空间,那么对不同的两个pod来说就不可能存在端口冲突;
6.应该将应用程序组织到多个pod中,而每个pod只包含紧密相关的组件或进程;
7.pod是k8s中扩容、缩容的基本单位,也就是说k8s中扩容缩容是针对pod而言而非容器。
5. pod的重启策略有哪些?
-
Always: 当容器终止退出后,总是重启容器,默认策略就是Always。
-
OnFailure: 当容器异常退出,退出状态码非0时,才重启容器。
-
Never: 当容器终止退出,不管退出状态码是什么,从不重启容器。
6. pod的镜像拉取策略有哪几种?
pod镜像拉取策略可以通过imagePullPolicy字段配置镜像拉取策略,
主要有3中镜像拉取策略,如下:
IfNotPresent: 默认值,镜像在node节点宿主机上不存在时才拉取。
Always: 总是重新拉取,即每次创建pod都会重新从镜像仓库拉取一次镜像。
Never: 永远不会主动拉取镜像,仅使用本地镜像,需要你手动拉取镜像到node节点,如果node节点不存在镜像则pod启动失败。
7. kubenetes针对pod资源对象的健康监测机制?
1.livenessProbe探针 (存活探针)
2.ReadinessProbe探针(就绪探针)
3.startupProbe探针
8. 就绪探针(ReadinessProbe探针)与存活探针(livenessProbe探针)区别是什么?
存活探针是将检查失败的容器杀死,创建新的启动容器来保持pod正常工作;当就绪探针检查失败,并不重启容器,而是将pod移出endpoint,就绪探针确保了service中的pod都是可用的,确保客户端只与正常的pod交互并且客户端永远不会知道系统存在问题。
9. 存活探针的属性参数有哪几个?
1.initialDelaySeconds:表示在容器启动后延时多久秒才开始探测;
2.periodSeconds:表示执行探测的频率,即间隔多少秒探测一次,默认间隔周期是10秒,最小1秒;
3.timeoutSeconds:表示探测超时时间,默认1秒,最小1秒,表示容器必须在超时时间范围内做出响应,否则视为本次探测失败;
4.successThreshold:表示最少连续探测成功多少次才被认定为成功,默认是1,对于liveness必须是1,最小值是1;
5.failureThreshold:表示连续探测失败多少次才被认定为失败,默认是3,连续3次失败,k8s 将根据pod重启策略对容器做出决定。
10. pod的就绪探针的属性参数有哪些?
1.initialDelaySeconds:延时秒数,即容器启动多少秒后才开始探测,不写默认容器启动就探测;
2.periodSeconds :执行探测的频率(秒),默认为10秒,最低值为1;
3.timeoutSeconds :超时时间,表示探测时在超时时间内必须得到响应,负责视为本次探测失败,默认为1秒,最小值为1;
4.failureThreshold :连续探测失败的次数,视为本次探测失败,默认为3次,最小值为1次;
5.successThreshold :连续探测成功的次数,视为本次探测成功,默认为1次,最小值为1次;
更多推荐
所有评论(0)