微服务(10)

目录

46.k8s中镜像的下载策略是什么?

47.image的状态有哪些?

48.如何控制滚动更新过程?

49.DaemonSet资源对象的特性?

50.说说你对Job这种资源对象的了解?


46.k8s中镜像的下载策略是什么?

可通过命令kubectl  explain pod.spec.containers来查看imagePullPlicy这行的解释。

k8s的镜像下载策略有三种:Always,Never,IINotPresent;

     Always:镜像标签为latest时,总是从指定的仓库中获取镜像;

   Never:禁止从仓库中下载镜像,也就是说只能使用本地镜像;

   ifNotPresent:仅当本地没有对应镜像时,才行目标仓库中下载。

默认的镜像下载策略是:当镜像标签是latest时,默认策略是Always;当镜像标签是自定义时(也就是标签不是latest,那么默认策略是ifNotPresent.

47.image的状态有哪些?

  Running:Pod所需的容器已经被成功调度到某个节点,且已经成功运行

  Pending:APIserver创建了pod资源对象,并且已经存入etcd中,但他尚未被调度完成或者仍然处于仓库中下载镜像的过程。

Unknown:APIserver无法正常获取到pod对象的状态,通常是其无法与所在工作节点的kubelet通信所致。

48.如何控制滚动更新过程?

可以通过下面的命令查看到更新时可以控制的参数:

maxSurge:此参数控制滚动更新过程,副本总数超过预期pod数量的上限。可以是百分比,也可以是具体的值。默认为1.(上述参数的作用就是在更新过程中,值若为3,那么不管三七二十一,先运行三个pod,用于替换旧的pod,以此类推)

maxUnavaliable:此参数控制滚动更新过程中,不可用的Pod的数量。(这个值和上面的值没有任何关系,举个例子:我有十个pod,但是在更新的过程中,我允许这十个pod中最多有三个不可用,那么就将这个参数的值设置为3,在更新的过程中,只要不可用的pod数量小于或者等于3,那么更新过程就不会停止)。

49.DaemonSet资源对象的特性?

DaemonSet这种资源对象会在每个k8s集群中的节点上运行,并且每个节点只能运行一个pod,这是他和deployment资源对象的最大也是唯一的区别。所以,在其yaml文件中,不支持定义replicas,除此之外,与Deployment,RS等资源对象的写法相同。

他的一般使用场景如下:

1.在去做每个节点的日志收集工作;

2.监控每个节点的运行状态;

50.说说你对Job这种资源对象的了解?

Job与其他服务类容器不同,Job是一种工作类容器(一般用于做一次性任务)。使用常见不多,可以忽略这个问题。

微服务(10)_第1张图片

你可能感兴趣的:(面试题,微服务,kubernetes,docker)