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

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

目录

 

29.简述 Kubernetes 自动扩容机制?

30.简述 Kubernetes Service 类型?

31.简述 Kubernetes Service 分发后端的策略?

32.简述 Kubernetes Headless Service ?


29.简述 Kubernetes 自动扩容机制?

(1)Kubernetes 自动扩容机制:

Kubernetes 使用 Horizontal Pod Autoscaler(HPA)的控制器实现基于 CPU 使用率进行自动 Pod 扩缩容的功能。

② HPA 控制器周期性地监测目标 Pod 的资源性能指标,并与 HPA 资源对象中的扩缩容条件进行对比,在满足条件时对 Pod 副本数量进行调整。

(2)HPA 原理:

① Kubernetes 中的某个 Metrics Server(Heapster 或自定义 Metrics Server)持续采集所有 Pod 副本的指标数据。

② HPA 控制器通过 Metrics Server 的 APl(Heapster 的 API 或聚合 API)获取这些数据,基于用户定义的扩缩容规则进行计算,得到目标 Pod 副本数量。

③ 当目标 Pod 副本数量与当前副本数量不同时,HPA控制器就向 Pod 的副本控制器(Deployment、RC 或 ReplicaSet)发起 scale 操作,调整 Pod 的副本数量,完成扩缩容操作。


30.简述 Kubernetes Service 类型?

- 通过创建 Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并且将请求负载分发到后端的各个容器应用上。

- 其主要类型有:

ClusterlP:虚拟的服务 IP 地址,该地址用于 Kubernetes 集群内部的 Pod 访问,在 Node 上 kube-proxy 通过设置的 iptables 规则进行转发。

NodePort:使用宿主机的端口,使能够访问各 Node 的外部客户端通过 Node 的 IP 地址和端口号就能访问服务。

LoadBalancer:使用外接负载均衡器完成到服务的负载分发,需要在 spec.status.loadBalancer 字段指定外部负载均衡器的 IP 地址,通常用于公有云。


31.简述 Kubernetes Service 分发后端的策略?

Service 负载分发的策略有:RoundRobin 和 SessionAffinity。

RoundRobin:默认为轮询模式,即轮询将请求转发到后端的各个Pod 上。

SessionAffinity:基于客户端 IP 地址进行会话保持的模式,即第 1 次将某个客户端发起的请求转发到后端的某个 Pod 上,之后从相同的客户端发起的请求都将被转发到后端相同的 Pod 上。


32.简述 Kubernetes Headless Service ?

- 在某些应用场景中,若需要人为指定负载均衡器,不使用 Service 提供的默认负载均衡的功能,或者应用程序希望知道属于同组服务的其他实例。

- Kubernetes 提供了 Headless Service 来实现这种功能,即不为 Service 设置 ClusterlP(入口 IP 地址)仅通过 Labelselector 将后端的 Pod 列表返回给调用的客户端。

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 代码随想录训练营第34天|dp前置转移
  • 【C++ Primer Plus习题】16.3
  • PHP:强大的Web开发语言
  • 基于微信小程序的高校实验室管理系统的设计与实现
  • 数据结构之外部排序
  • ros学习笔记.4 Path Planning Part 2 (避障)
  • 【Linux基础】冯诺依曼体系结构操作系统的理解
  • 1.接口测试基础
  • 测试用例的了解
  • 【设计模式】创建型模式(四):建造者模式
  • Python中的魔法:探索自定义Context Manager的魅力
  • 7天速成前端 ------学习日志 (继苍穹外卖之后)
  • Eclipse折叠if、else、try catch的{}
  • leetcode01——27. 移除元素(双指针)、977. 有序数组的平方(双指针)、209. 长度最小的子数组(双指针/滑动窗口)
  • leetcode刷题day17|二叉树Part05(654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树)
  • bootstrap创建登录注册页面
  • dva中组件的懒加载
  • Git 使用集
  • Git初体验
  • Java知识点总结(JavaIO-打印流)
  • React中的“虫洞”——Context
  • 程序员最讨厌的9句话,你可有补充?
  • 聊聊flink的BlobWriter
  • 前端相关框架总和
  • 写给高年级小学生看的《Bash 指南》
  • 因为阿里,他们成了“杭漂”
  • ​​​【收录 Hello 算法】9.4 小结
  • ​queue --- 一个同步的队列类​
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • $.ajax()
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (js)循环条件满足时终止循环
  • (k8s)Kubernetes本地存储接入
  • (void) (_x == _y)的作用
  • (办公)springboot配置aop处理请求.
  • (备忘)Java Map 遍历
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (学习日记)2024.01.09
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转载)Linux网络编程入门
  • **PHP分步表单提交思路(分页表单提交)
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET Framework与.NET Framework SDK有什么不同?
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .net/c# memcached 获取所有缓存键(keys)
  • .NET企业级应用架构设计系列之应用服务器
  • .NET使用存储过程实现对数据库的增删改查
  • /proc/stat文件详解(翻译)
  • @component注解的分类
  • @EnableConfigurationProperties注解使用
  • [ 转载 ] SharePoint 资料
  • [AI StoryDiffusion] 创造神奇故事,AI漫画大乱斗!