K8S面试题学习2

参考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次;

         

  • 28
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值