【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(四)

  本站以分享各种运维经验和运维所需要的技能为主

《python零基础入门》:python零基础入门学习

《python运维脚本》: python运维脚本实践

《shell》:shell学习

《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战

《k8》从问题中去学习k8s

《docker学习》暂未更新

《ceph学习》ceph日常问题解决分享

《日志收集》ELK+各种中间件

《运维日常》运维日常

《linux》运维面试100问

《DBA》db的介绍使用(mysql、redis、mongodb...)

思考一下问题:

16、简述kube-proxy ipvs和iptables的异同?

17、简述Kubernetes中什么是静态Pod?

18、简述Kubernetes中Pod可能位于的状态?

19、简述Kubernetes创建一个Pod的主要流程?

20、简述Kubernetes中Pod的重启策略?

参考答案: 

16、简述kube-proxy ipvs和iptables的异同?
iptables与IPVS都是基于Netfilter实现的,但因为定位不同,二者有着本质的差别:iptables是为防火墙
而设计的;IPVS则专门用于高性能负载均衡,并使用更高效的数据结构(Hash表),允许几乎无限的规
模扩张。
与iptables相比,IPVS拥有以下明显优势:
1、为大型集群提供了更好的可扩展性和性能;
2、支持比iptables更复杂的复制均衡算法(最小负载、最少连接、加权等);
3、支持服务器健康检查和连接重试等功能;
4、可以动态修改ipset的集合,即使iptables的规则正在使用这个集合。

17、简述Kubernetes中什么是静态Pod?
静态pod是由kubelet进行管理的仅存在于特定Node的Pod上,他们不能通过API Server进行管理,无法
与ReplicationController、Deployment或者DaemonSet进行关联,并且kubelet无法对他们进行健康检
查。静态Pod总是由kubelet进行创建,并且总是在kubelet所在的Node上运行。

18、简述Kubernetes中Pod可能位于的状态?
Pending:API Server已经创建该Pod,且Pod内还有一个或多个容器的镜像没有创建,包括正在下载镜
像的过程。
Running:Pod内所有容器均已创建,且至少有一个容器处于运行状态、正在启动状态或正在重启状
态。
Succeeded:Pod内所有容器均成功执行退出,且不会重启。
Failed:Pod内所有容器均已退出,但至少有一个容器退出为失败状态。
Unknown:由于某种原因无法获取该Pod状态,可能由于网络通信不畅导致。

19、简述Kubernetes创建一个Pod的主要流程?
Kubernetes中创建一个Pod涉及多个组件之间联动,主要流程如下:
1、客户端提交Pod的配置信息(可以是yaml文件定义的信息)到kube-apiserver。
2、Apiserver收到指令后,通知给controller-manager创建一个资源对象。
3、Controller-manager通过api-server将pod的配置信息存储到ETCD数据中心中。
4、Kube-scheduler检测到pod信息会开始调度预选,会先过滤掉不符合Pod资源配置要求的节
点,然后开始调度调优,主要是挑选出更适合运行pod的节点,然后将pod的资源配置单发送到
node节点上的kubelet组件上。
5、Kubelet根据scheduler发来的资源配置单运行pod,运行成功后,将pod的运行信息返回给
scheduler,scheduler将返回的pod运行状况的信息存储到etcd数据中心。

20、简述Kubernetes中Pod的重启策略?
Pod重启策略(RestartPolicy)应用于Pod内的所有容器,并且仅在Pod所处的Node上由kubelet进行判
断和重启操作。当某个容器异常退出或者健康检查失败时,kubelet将根据RestartPolicy的设置来进行相
应操作。
Pod的重启策略包括Always、OnFailure和Never,默认值为Always。
Always:当容器失效时,由kubelet自动重启该容器;
OnFailure:当容器终止运行且退出码不为0时,由kubelet自动重启该容器;
Never:不论容器运行状态如何,kubelet都不会重启该容器。
同时Pod的重启策略与控制方式关联,当前可用于管理Pod的控制器包括ReplicationController、Job、
DaemonSet及直接管理kubelet管理(静态Pod)。
不同控制器的重启策略限制如下:
RC和DaemonSet:必须设置为Always,需要保证该容器持续运行;
Job:OnFailure或Never,确保容器执行完成后不再重启;
kubelet:在Pod失效时重启,不论将RestartPolicy设置为何值,也不会对Pod进行健康检查。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值