本站以分享各种运维经验和运维所需要的技能为主
《python零基础入门》:python零基础入门学习
《python运维脚本》: python运维脚本实践
《shell》:shell学习
《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战
《k8》从问题中去学习k8s
《docker学习》暂未更新
《ceph学习》ceph日常问题解决分享
《日志收集》ELK+各种中间件
《运维日常》运维日常
《linux》运维面试100问
思考一下问题:
71、 如何控制滚动更新过程?
72、K8s中镜像的下载策略是什么?
73、 image的状态有哪些?
74、 pod的重启策略是什么?
75、 Service这种资源对象的作用是什么?
参考答案:
71、 如何控制滚动更新过程?
答:可以通过下面的命令查看到更新时可以控制的参数:
[root@master yaml]# kubectl explain deploy.spec.strategy.rollingUpdate
maxSurge: 此参数控制滚动更新过程,副本总数超过预期pod数量的上限。可以是百分比,也可以
是具体的值。默认为1。
(上述参数的作用就是在更新过程中,值若为3,那么不管三七二一,先运行三个pod,用于替换旧的
pod,以此类推)
maxUnavailable: 此参数控制滚动更新过程中,不可用的Pod的数量。
(这个值和上面的值没有任何关系,举个例子:我有十个pod,但是在更新的过程中,我允许这十个
pod中最多有三个不可用,那么就将这个参数的值设置为3,在更新的过程中,只要不可用的pod数量小
于或等于3,那么更新过程就不会停止)。
72、K8s中镜像的下载策略是什么?
答:可通过命令“kubectl explain pod.spec.containers”来查看imagePullPolicy这行的解释。
K8s的镜像下载策略有三种:Always、Never、IFNotPresent;
Always:镜像标签为latest时,总是从指定的仓库中获取镜像;
Never:禁止从仓库中下载镜像,也就是说只能使用本地镜像;
IfNotPresent:仅当本地没有对应镜像时,才从目标仓库中下载。
默认的镜像下载策略是:当镜像标签是latest时,默认策略是Always;当镜像标签是自定义时(也
就是标签不是latest),那么默认策略是IfNotPresent。
73、 image的状态有哪些?
Running:Pod所需的容器已经被成功调度到某个节点,且已经成功运行,
Pending:APIserver创建了pod资源对象,并且已经存入etcd中,但它尚未被调度完成或者仍然处
于仓库中下载镜像的过程
Unknown:APIserver无法正常获取到pod对象的状态,通常是其无法与所在工作节点的kubelet通
信所致。
74、 pod的重启策略是什么?
答:可以通过命令“kubectl explain pod.spec”查看pod的重启策略。(restartPolicy字段)
Always:但凡pod对象终止就重启,此为默认策略。
OnFailure:仅在pod对象出现错误时才重启
75、 Service这种资源对象的作用是什么?
答:用来给相同的多个pod对象提供一个固定的统一访问接口,常用于服务发现和服务访问。