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

目录

[29.简述 Kubernetes 自动扩容机制?](#29.简述 Kubernetes 自动扩容机制?)

[30.简述 Kubernetes Service 类型?](#30.简述 Kubernetes Service 类型?)

[31.简述 Kubernetes Service 分发后端的策略?](#31.简述 Kubernetes Service 分发后端的策略?)

[32.简述 Kubernetes Headless 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 列表返回给调用的客户端。

相关推荐
angushine1 分钟前
让Docker端口映射受Firewall管理而非iptables
运维·docker·容器
孔令飞1 小时前
Go:终于有了处理未定义字段的实用方案
人工智能·云原生·go
玄明Hanko1 小时前
Quarkus+Docker最全面完整教程:手把手搞定Java云原生
后端·docker·云原生
SimonLiu0092 小时前
清理HiNas(海纳斯) Docker日志并限制日志大小
java·docker·容器
高峰君主4 小时前
Docker容器持久化
docker·容器·eureka
能来帮帮蒟蒻吗5 小时前
Docker安装(Ubuntu22版)
笔记·学习·spring cloud·docker·容器
言之。9 小时前
别学了,打会王者吧
java·python·mysql·容器·spark·php·html5
秦始皇爱找茬12 小时前
docker部署Jenkins工具
docker·容器·jenkins
hoho不爱喝酒14 小时前
微服务Nacos组件的介绍、安装、使用
微服务·云原生·架构
樽酒ﻬق15 小时前
Kubernetes 常用运维命令整理
运维·容器·kubernetes