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

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

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

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

《shell》:shell学习

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

《k8》从问题中去学习k8s

《docker学习》暂未更新

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

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

《运维日常》运维日常

《linux》运维面试100问

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

思考一下问题:

36、简述Kubernetes各模块如何与API Server通信?

37、简述Kubernetes Scheduler作用及实现原理?

38、简述Kubernetes Scheduler使用哪两种算法将Pod绑定到worker节点?

39、简述Kubernetes kubelet的作用?

40、简述Kubernetes kubelet监控Worker节点资源是使用什么组件来实现的? 

参考答案:

36、简述Kubernetes各模块如何与API Server通信?
Kubernetes API Server作为集群的核心,负责集群各功能模块之间的通信。集群内的各个功能模块通过
API Server将信息存入etcd,当需要获取和操作这些数据时,则通过API Server提供的REST接口(用
GET、LIST或WATCH方法)来实现,从而实现各模块之间的信息交互。
如kubelet进程与API Server的交互:每个Node上的kubelet每隔一个时间周期,就会调用一次API
Server的REST接口报告自身状态,API Server在接收到这些信息后,会将节点状态信息更新到etcd中。
如kube-controller-manager进程与API Server的交互:kube-controller-manager中的Node Controller
模块通过API Server提供的Watch接口实时监控Node的信息,并做相应处理。
如kube-scheduler进程与API Server的交互:Scheduler通过API Server的Watch接口监听到新建Pod副
本的信息后,会检索所有符合该Pod要求的Node列表,开始执行Pod调度逻辑,在调度成功后将Pod绑
定到目标节点上。

37、简述Kubernetes Scheduler作用及实现原理?
Kubernetes Scheduler是负责Pod调度的重要功能模块,Kubernetes Scheduler在整个系统中承担了
“承上启下”的重要功能,“承上”是指它负责接收Controller Manager创建的新Pod,为其调度至目标
Node;“启下”是指调度完成后,目标Node上的kubelet服务进程接管后继工作,负责Pod接下来生命周
期。
Kubernetes Scheduler的作用是将待调度的Pod(API新创建的Pod、Controller Manager为补足副本而
创建的Pod等)按照特定的调度算法和调度策略绑定(Binding)到集群中某个合适的Node上,并将绑
定信息写入etcd中。
在整个调度过程中涉及三个对象,分别是待调度Pod列表、可用Node列表,以及调度算法和策略。
Kubernetes Scheduler通过调度算法调度为待调度Pod列表中的每个Pod从Node列表中选择一个最适合
的Node来实现Pod的调度。随后,目标节点上的kubelet通过API Server监听到Kubernetes Scheduler
产生的Pod绑定事件,然后获取对应的Pod清单,下载Image镜像并启动容器。

38、简述Kubernetes Scheduler使用哪两种算法将Pod绑定到worker节点?
Kubernetes Scheduler根据如下两种调度算法将 Pod 绑定到最合适的工作节点:
预选(Predicates):输入是所有节点,输出是满足预选条件的节点。kube-scheduler根据预选策略过
滤掉不满足策略的Nodes。如果某节点的资源不足或者不满足预选策略的条件则无法通过预选。如
“Node的label必须与Pod的Selector一致”。
优选(Priorities):输入是预选阶段筛选出的节点,优选会根据优先策略为通过预选的Nodes进行打分
排名,选择得分最高的Node。例如,资源越富裕、负载越小的Node可能具有越高的排名。

39、简述Kubernetes kubelet的作用?
在Kubernetes集群中,在每个Node(又称Worker)上都会启动一个kubelet服务进程。该进程用于处
理Master下发到本节点的任务,管理Pod及Pod中的容器。每个kubelet进程都会在API Server上注册节
点自身的信息,定期向Master汇报节点资源的使用情况,并通过cAdvisor监控容器和节点资源。

40、简述Kubernetes kubelet监控Worker节点资源是使用什么组件来实现的?
kubelet使用cAdvisor对worker节点资源进行监控。在 Kubernetes 系统中,cAdvisor 已被默认集成到
kubelet 组件内,当 kubelet 服务启动时,它会自动启动 cAdvisor 服务,然后 cAdvisor 会实时采集所
在节点的性能指标及在节点上运行的容器的性能指标。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值