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

相关推荐
昙鱼1 小时前
Linux上使用Docker安装MinIO指南
云原生·eureka
苦逼IT运维1 小时前
Kubernetes 双层 Nginx 容器环境下的 CORS 问题及解决方案(极端情况)
运维·nginx·容器·kubernetes·jenkins·运维开发·ci
2501_938769991 小时前
云计算:IaaS和PaaS区别
云原生·云计算·paas
華勳全栈2 小时前
生产环境用Go语言完成微服务搭建和业务融入
微服务·云原生·架构
熙客2 小时前
Docker核心文件:DockerCompose文件
docker·容器
斯普信专业组2 小时前
rabbitmq-k8s下双架构镜像+手动sts部署完全文档(下)
架构·kubernetes·rabbitmq
xx.ii2 小时前
k8s:service资源详解
运维·网络·容器·kubernetes
chinesegf9 小时前
Docker篇4-本地项目app.py与docker加载项目镜像的开发顺序
运维·docker·容器
CyreneSimon9 小时前
Docker 拉取配置教程:解决镜像拉取连接超时问题
运维·docker·容器
xx.ii12 小时前
k8s的资源管理
云原生·容器·kubernetes