当前位置: 首页 > news >正文

【Kubernetes】常见面试题汇总(十二)

目录

 

36.简述 Kubernetes 的负载均衡器?

37.简述 Kubernetes 各模块如何与 APl Server 通信?

38.简述 Kubernetes Scheduler 作用及实现原理?


36.简述 Kubernetes 的负载均衡器?

(1)负载均衡器是暴露服务的最常见和标准方式之一。

(2)根据工作环境使用两种类型的负载均衡器,即内部负载均衡器或外部负载均衡器

① 内部负载均衡器自动平衡负载并使用所需配置分配容器;

② 而外部负载均衡器将流量从外部负载引导至后端容器。


37.简述 Kubernetes 各模块如何与 APl Server 通信?

- Kubernetes APl Server 作为集群的核心,负责集群各功能模块之间的通信。

- 集群内的各个功能模块通过 API Server 将信息存入 etcd,当需要获取和操作这些数据时则通过 APl Server 提供的 REST 接口(用 GET、LIST 或 WATCH 方法)来实现,从而实现各模块之间的信息交互。

(1)如 kubelet 进程与 APl Server 的交互:

每个 Node 上的 kubelet 每隔一个时间周期就会调用一次 APl Server 的 REST 接口报告自身状态,API Server 在接收到这些信息后,会将节点状态信息更新到 etcd 中。

(2)如 kube-controller-manager 进程与 APl Server 的交互:

kube-controller-manager 中的 Node Controller模块通过 API Server 提供的 Watch 接口实时监控Node的信息,并做相应处理

(3)如 kube-scheduler 进程与 APl Server 的交互:

Scheduler 通过 APl Server 的 Watch 接口监听到新建 Pod 副本的信息后,会检索所有符合该 Pod 要求的 Node 列表,开始执行 Pod 调度逻辑,在调度成功后将 Pod 绑定到目标节点上。


38.简述 Kubernetes Scheduler 作用及实现原理?

(1)Kubernetes Scheduler 是负责 Pod 调度的重要功能模块,Kubernetes Scheduler 在整个系统中承担了 “ 承上启下 ” 的重要功能。

① “ 承上 ” 是指它负责接收 Controller Manager 创建的新 Pod,为其调度至目标 Node;

② “ 启下 ” 是指调度完成后,目标 Node 上的 kubelet 服务进程接管后继工作,负责 Pod 接下来生命周期。

(2)Kubernetes Scheduler 的作用:

将待调度的 Pod(API 新创建的 Pod、Controller Manager 为补足副本而创建的 Pod 等)按照特定的调度算法和调度策略绑定(Binding)到集群中某个合适的 Node 上,并将绑定信息写入 etcd 中。

② 在整个调度过程中涉及三个对象,分别是待调度 Pod列表、可用 Node 列表,以及调度算法和策略。

③ 具体调度过程:

Kubernetes Scheduler 通过调度算法调度为待调度 Pod 列表中的每个 Pod 从 Node 列表中选择一个最适合的 Node 来实现 Pod 的调度。

随后,目标节点上的 kubelet 通过 APl Server 监听到 Kubernetes Scheduler 产生的 Pod 绑定事件;然后获取对应的 Pod 清单,下载 Image 镜像并启动容器。

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 使用Ubuntu耳机输出正弦波信号
  • 首次在rasa中使用form的个人小结
  • stm32 W25Q数据存储
  • C语言的结构体类型
  • Rust Windows下编译 静态链接VCRuntime140.dll
  • 华为 HCIP 认证费用和报名资格
  • 【5G QoS】详解5G QoS端到端工作机制
  • Linux tr命令
  • CMake构建学习笔记16-使用VS进行CMake项目的开发
  • [论文笔记]ChatQA: Surpassing GPT-4 on Conversational QA and RAG
  • 【LLM多模态】文生视频评测基准VBench
  • django-admin自定义功能按钮样式
  • 数据结构之栈和队列的应用
  • 【物联网技术大作业】设计一个智能家居的应用场景
  • 树莓派Pico开发板简介
  • [Vue CLI 3] 配置解析之 css.extract
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • C++类的相互关联
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • Java 多线程编程之:notify 和 wait 用法
  • Java应用性能调优
  • Python_网络编程
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • webpack入门学习手记(二)
  • 初识 webpack
  • 构造函数(constructor)与原型链(prototype)关系
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 汉诺塔算法
  • 精彩代码 vue.js
  • 算法-插入排序
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • #### golang中【堆】的使用及底层 ####
  • #1014 : Trie树
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #传输# #传输数据判断#
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (1)svelte 教程:hello world
  • (C语言)逆序输出字符串
  • (PADS学习)第二章:原理图绘制 第一部分
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (二)PySpark3:SparkSQL编程
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)计算机毕业设计高校学生选课系统
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (十二)Flink Table API
  • (四)进入MySQL 【事务】
  • (未解决)macOS matplotlib 中文是方框