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

ops/2024/9/25 6:20:06/

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

《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 会实时采集所
在节点的性能指标及在节点上运行的容器的性能指标。


http://www.ppmy.cn/ops/95016.html

相关文章

【Python中绘制散点图并更改线条类型和颜色】

在Python中,使用matplotlib库绘制散点图时,实际上并不涉及“线条类型”的更改,因为散点图是由点(而不是线)组成的。不过,你可以更改点的颜色、大小、形状等属性。如果你想要连接散点图中的点以形成一条线&a…

Openstack 与 Ceph集群搭建(上): 规划与准备

文章目录 写在前面网络架构节点规划软件版本避坑指南 基础配置1. host配置2. 修改hostname名称3. 确保root账号能登录系统4. 配置NTP5. 配置免密登录 写在前面 近期将进行三节点的Openstack、Ceph集群混合部署,本人将详细记录该过程。在此之前,本文为Op…

电气安全保护平台 提前预警 及时切断 防护 安全

电气火灾安全报警系统,也被称为“电气火灾报警系统”、“漏电火灾报警系统”或“电气火灾监控系统”,是一种旨在预防电气火灾的先进系统。该系统通过实时检测电气线路中的异常情况,如漏电、短路、过载等,及时发出报警信号&#xf…

RabbitMQ-消息队列-centos7

一、RabbitMQ安装 1、通过官网下 官网网址:https://www.rabbitmq.com 首先下载erlang-23.3.4.11-1.el7.x86_64.rpm,其次下载rabbitmq-server-3.10.0-1.el7.noarch.rpm 注意:RabbitMQ是由erlang开发的,所以必须先安装erlang版本…

时间同步及LVS的安装配置

时间同步: yum -y install ntpdate yum -y install ntp ntpdate cn.ntp.org.cn systemctl start ntpd systemctl enable ntpd 安装ipvsadm # 安装 ipvsadm [rootnat ~] # yum -y install ipvsadm # 清空以往的规则 [rootnat ~] # ipvsadm -C # 查看规则 [r…

CV每日论文--2024.7.24

1 、AutoAD-Zero: A Training-Free Framework for Zero-Shot Audio Description 中文标题:T2V-CompBench:组合文本到视频生成的综合基准AutoAD-Zero:零样本音频描述的免训练框架 简介:我们的目标是以无需训练的方式为电影和电视剧…

【Nodejs】六、express框架

目录 一、express 介绍 二、express 使用 2.1 express 下载 2.2 express 使用 三、express 路由 3.1 什么是路由 3.2 路由的使用 3.3 获取请求参数 3.4 获取路由参数 四、express 响应设置 五、express 中间件 5.1 什么是中间件 5.2 中间件的作用 5.3 中间件的类…

抓包分析排查利器TCPdump

tcpdump命令介绍与常规用法。 基础命令介绍 # 固定语法 -i 指定网卡名称 -nn 显示IP地址 -w 指定输出的文件名称 tcpdump -i eth0 -nn -w test.cap-nn 不把主机的网络地址与协议转换成名字 -w 把数据包数据写入指定的文件 and 连接参数 host 指明主机 port 指明端口 src 源IP…