【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 列表返回给调用的客户端。

相关推荐
Zz_waiting.13 分钟前
服务注册 / 服务发现 - Eureka
spring cloud·云原生·eureka·服务发现
qq_2642208930 分钟前
K8s-Pod控制器
容器
追梦者12333 分钟前
k8s项目实战篇 kubesphere安装
云原生·容器·kubernetes
瑶总迷弟1 小时前
使用 Docker 和 docker-compose 快速部署 openGauss
linux·数据库·云原生·eureka
-L71 小时前
【Kubernetes】常见面试题汇总(二十五)
云原生·容器·kubernetes
努力搬砖的咸鱼2 小时前
Node.js 和 Java 项目怎么写 Dockerfile
java·开发语言·docker·云原生·容器·node.js
AutoMQ3 小时前
重磅发布|AutoMQ v1.6.0 开源版:Kafka 成本直降 17 倍,原生支持 Strimzi 与 Iceberg
云原生·kafka
二进制coder4 小时前
Kubernetes全景解读:从云原生基石到卓越实践
云原生·容器·kubernetes
凯子坚持 c6 小时前
Docker 深度解析:从虚拟化到新一代应用构建、运行与交付
运维·docker·容器
伊成13 小时前
细说Docker命令
docker·容器·eureka