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

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

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

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

《shell》:shell学习

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

《k8》从问题中去学习k8s

《docker学习》暂未更新

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

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

《运维日常》运维日常

《linux》运维面试100问

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

思考一下问题:

26、简述Kubernetes deployment升级策略?

27、简述Kubernetes DaemonSet类型的资源特性?

28、简述Kubernetes自动扩容机制?

29、简述Kubernetes Service类型?

30、简述Kubernetes Service分发后端的策略?

参考答案:

26、简述Kubernetes deployment升级策略?
在Deployment的定义中,可以通过spec.strategy指定Pod更新的策略,目前支持两种策略:
Recreate(重建)和RollingUpdate(滚动更新),默认值为RollingUpdate。
Recreate:设置spec.strategy.type=Recreate,表示Deployment在更新Pod时,会先杀掉所有正在运
行的Pod,然后创建新的Pod。
RollingUpdate:设置spec.strategy.type=RollingUpdate,表示Deployment会以滚动更新的方式来逐
个更新Pod。同时,可以通过设置spec.strategy.rollingUpdate下的两个参数(maxUnavailable和
maxSurge)来控制滚动更新的过程。

27、简述Kubernetes DaemonSet类型的资源特性?
DaemonSet资源对象会在每个Kubernetes集群中的节点上运行,并且每个节点只能运行一个pod,这
是它和deployment资源对象的最大也是唯一的区别。因此,在定义yaml文件中,不支持定义replicas。
它的一般使用场景如下:
在去做每个节点的日志收集工作。
监控每个节点的的运行状态。

28、简述Kubernetes自动扩容机制?
Kubernetes使用Horizontal Pod Autoscaler(HPA)的控制器实现基于CPU使用率进行自动Pod扩缩容
的功能。HPA控制器周期性地监测目标Pod的资源性能指标,并与HPA资源对象中的扩缩容条件进行对
比,在满足条件时对Pod副本数量进行调整。
HPA原理
Kubernetes中的某个Metrics Server(Heapster或自定义Metrics Server)持续采集所有Pod副本的指
标数据。HPA控制器通过Metrics Server的API(Heapster的API或聚合API)获取这些数据,基于用户定
义的扩缩容规则进行计算,得到目标Pod副本数量。
当目标Pod副本数量与当前副本数量不同时,HPA控制器就向Pod的副本控制器(Deployment、RC或
ReplicaSet)发起scale操作,调整Pod的副本数量,完成扩缩容操作。

29、简述Kubernetes Service类型?
通过创建Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并且将请求负载分发
到后端的各个容器应用上。其主要类型有:
ClusterIP:虚拟的服务IP地址,该地址用于Kubernetes集群内部的Pod访问,在Node上kube-
proxy通过设置的iptables规则进行转发;
NodePort:使用宿主机的端口,使能够访问各Node的外部客户端通过Node的IP地址和端口号就
能访问服务;
LoadBalancer:使用外接负载均衡器完成到服务的负载分发,需要在spec.status.loadBalancer字
段指定外部负载均衡器的IP地址,通常用于公有云。

30、简述Kubernetes Service分发后端的策略?
Service负载分发的策略有:RoundRobin和SessionAffinity
RoundRobin:默认为轮询模式,即轮询将请求转发到后端的各个Pod上。
SessionAffinity:基于客户端IP地址进行会话保持的模式,即第1次将某个客户端发起的请求转发到
后端的某个Pod上,之后从相同的客户端发起的请求都将被转发到后端相同的Pod上。

 

你可能感兴趣的:(k8s,学习,kubernetes,容器)