docker导出日志到本地的方法是什么
280
2022-09-12
【运维面试】k8s的node是靠什么来管理的?
k8s中有三个组件与node交互,分别是node controller,kubelet,kubectl在node的整个生命周期中,node controller充当多个角色, 第一个:在node注册入集群的时候,给他分配一个CIDR地址快。 第二个是维护node controller 内部节点可用列表,如果node controller检测node不健康,他就会向供应商询问节点虚拟机是否可用,如果不可应就从列表剔除。第三个是监控节点的健康状态,当node controller检测node不可达时,负责将node状态中的not ready condition 跟新到 condition unknown, 然后将node上所有的pod删除,(默认不可达超过40S就会标记成condition unkunown,此时并没有发生删除pod的操作,系统会尝试重新联系node,如果恢复就被标记为node ready. 如果不可达超过5分钟,就会采取删除pod的操作)每隔多少秒去检测一次节点的状态是: --node-monitor-periodnode controller 源码中,monitor node health 是定时更新node的信息:获取所有的node信息,按照哪些是新增的,哪些是需要删除的,以及哪些是需要重新规划的返回节点相应的信息对新增node,删除node以及待规划的node做对应的处理遍历所有node,更新node状态,调用tryupdatenodehealth方法而kubelet运行在node上,维持运行中的pods以及k8s运行的环境,主要完成以下使命: 5. 监视分配给node的节点pods 6. 挂载pod所需要的volumes 7. 下载pod的secret 8. 通过docker来运行pod中的容器 9. 周期的执行pod中为容器定义的liveness探针 10. 上报pod的状态给系统的其他组件 11. 上报node的状态
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~