深入解析Kubernetes核心架构及面试高频问题攻略

本文详细介绍了Kubernetes的核心架构,包括控制平面与工作节点的关键组件,深入解析API Server、etcd、Scheduler、Controller Manager等重要部分的工作机制;同时涵盖了kubelet与Container Runtime的交互流程、kube-proxy的两种模式差异,及云平台托管服务的核心特性对比。此外,结合真实高频面试题,涵盖认证授权流程、数据一致性保障、调度策略自定义、滚动更新实现、Service类型及适用场景等,帮助读者系统掌握Kubernetes基础与进阶运维知识。


Kubernetes核心架构概述

Kubernetes架构分为两大部分:控制平面(Control Plane)与工作节点(Node)。控制平面负责集群管理与调度,工作节点负责运行具体的容器化应用。

控制平面关键组件

  • API Server:集群入口,负责处理REST请求,执行认证、授权、准入控制。
  • etcd:分布式键值存储,保证数据强一致性,保存集群状态数据。
  • Scheduler:负责监测未调度Pod,将其分配到合适节点。
  • Controller Manager:运行核心控制器,如Deployment控制器,确保集群状态与期望状态一致。
  • Cloud Controller Manager:与云服务商交互,管理负载均衡、存储卷等。

工作节点组件

  • kubelet:节点代理,与API Server交互,管理容器生命周期。
  • kube-proxy:负责维护网络规则,支持iptables和IPVS两种模式以实现Service负载均衡。
  • Container Runtime:底层容器运行环境,如Docker、containerd。
  • Pod:容器的最小调度单位,多个容器共享网络和存储。

云平台托管服务集成

Google GKE、Microsoft AKS、Amazon EKS等托管方案,提供简化的控制面板管理和原生云扩展。


Kubernetes关键面试题解析

1. API Server的认证、授权和准入控制流程

认证→授权→准入控制链,常见授权策略如RBAC和ValidatingWebhook。

2. etcd数据一致性保障

基于Raft算法实现强一致性,轻量且支持Watch机制。

3. Scheduler调度策略

默认优先级抢占策略,支持自定义PodAffinity和扩展调度器。

4. Deployment滚动更新

利用新ReplicaSet渐进替换旧Pod,通过maxUnavailable控制更新节奏。

5. kubelet与Container Runtime交互

通过CRI接口调用运行时拉取镜像、启动容器、监控状态。

6. kube-proxy模式差异

iptables适合小规模集群,IPVS支持更高效的负载均衡算法。

7. Service类型与适用场景

  • ClusterIP: 集群内部访问
  • NodePort: 节点IP+端口暴露外部访问
  • LoadBalancer: 云厂商负载均衡
  • ExternalName: DNS映射外部服务

8. Pod启动故障排查

检查Pod状态、事件、日志,常见问题包括CrashLoopBackOff、ImagePullBackOff及资源不足。

9. HPA自动扩缩容

根据CPU、内存等指标自动调整副本数,适应流量波动。

10. PVC与PV存储管理

PVC为Pod申请存储请求,PV为存储资源,实现动态绑定。


通过本篇文章,读者不仅可以系统了解Kubernetes架构和核心组件,还能掌握常见面试问题及解决思路,为K8s运维与开发打下坚实基础。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐