目录
39.简述 Kubernetes Scheduler 使用哪两种算法将 Pod 绑定到 worker 节点?
40.简述 Kubernetes kubelet 的作用?
41.简述 Kubernetes kubelet 监控 Worker 节点资源是使用什么组件来实现的?
39.简述 Kubernetes Scheduler 使用哪两种算法将 Pod 绑定到 worker 节点?
Kubernetes Scheduler 根据如下两种调度算法将 Pod 绑定到最合适的工作节点:
(1)预选(Predicates):
- 输入是所有节点,输出是满足预选条件的节点。
- kube-scheduler 根据预选策略过滤掉不满足策略的 Nodes。
- 如果某节点的资源不足或者不满足预选策略的条件则无法通过预选。
- 例如,“ Node的 label 必须与 Pod 的 Selector 一致 ”。
(2)优选(Priorities):
- 输入是预选阶段筛选出的节点。
- 优选会根据优先策略为通过预选的 Nodes 进行打分排名,选择得分最高的Node。
- 例如,资源越富裕负载越小的 Node 可能具有越高的排名。
40.简述 Kubernetes kubelet 的作用?
在 Kubernetes 集群中,在每个 Node(又称 Worker)上都会启动一个 kubelet 服务进程。
kubelet 服务进程用于处理 Master 下发到本节点的任务,管理 Pod 及 Pod 中的容器。
每个 kubelet 进程都会在 API Server 上注册节点自身的信息,定期向 Master 汇报节点资源的使用情况,并通过 cAdvisor 监控容器和节点资源。
41.简述 Kubernetes kubelet 监控 Worker 节点资源是使用什么组件来实现的?
kubelet 使用 cAdvisor 对 worker 节点资源进行监控。
在 Kubernetes 系统中 cAdvisor 已被默认集成到 kubelet 组件内,当 kubelet 服务启动时,它会自动启动 cAdvisor 服务,然后 cAdvisor 会实时采集所在节点的性能指标及在节点上运行的容器的性能指标。