微服务(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是一种工作类容器(一般用于做一次性任务)。使用常见不多,可以忽略这个问题。

相关推荐
fanly1110 小时前
Surging AI Agent 完整产品介绍
微服务·microservice
lichenyang4531 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4531 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4531 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4531 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
运维开发故事4 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson6 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
探索云原生6 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
Suroy6 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭6 天前
运行你的第一个Docker容器
后端·docker·容器