Kubernetes 是当今 DevOps 工程师、云专业人员和 SRE 最紧缺的技能之一。
如果您正在准备面试,或者只是想巩固基础知识,那么了解 Kubernetes 架构是必不可少的。
本指南分解了您必须掌握的20 个最常见的 Kubernetes 架构面试问题,并通过示例和类比以简单的术语进行解释。
🚀 Kubernetes 架构概述
Kubernetes 是一个开源容器编排平台,可自动执行容器化应用程序的部署、扩展和管理。
从高层次来看:
控制平面→Kubernetes 的大脑(决定应该发生什么)。
工作节点→ Kubernetes 的力量(实际运行工作负载)。
Pod → Kubernetes 中最小的可部署单元。
Kubernetes 的工作原理(简单流程)
1、您告诉 Kubernetes 您想要的状态(例如,运行一个应用程序的 3 个副本)。
2、API 服务器接收请求。
3、调度程序决定哪个节点应该运行该 Pod。
4、工作节点上的kubelet确保容器按预期运行。
5、控制器管理器不断监视并修复偏差。
👉 将 Kubernetes 想象成一个空中交通管制系统:控制平面 = 控制塔,工作节点 = 飞机,吊舱 = 乘客。
💡 Kubernetes 架构面试常见问题
1.什么是 Kubernetes 以及我们为什么要使用它?
Kubernetes 通过自动化应用程序的部署、扩展和修复来帮助大规模管理容器。
- Kubernetes 架构的主要组件有哪些?
控制平面: API 服务器、etcd、调度程序、控制器管理器。
工作节点: kubelet、kube-proxy、容器运行时。
- Kubernetes 中 API Server 的作用是什么?
它是Kubernetes 的前门。所有通信(CLI、UI 或自动化工具)都通过它进行。
- Kubernetes 中的 Scheduler 起什么作用?
根据资源、策略和约束将 Pod 分配到最佳节点。
5.什么是 etcd 以及它为什么重要?
保存集群状态的分布式键值存储(如 Kubernetes 的大脑记忆)。
- 控制经理负责什么?
运行控制器以确保集群的当前状态与所需状态相匹配。
- Kubernetes 中的节点是什么?
运行工作负载的机器(虚拟机或物理机)。
8.主节点和工作节点有什么区别?
主节点:运行控制平面组件。
工作节点:运行应用程序工作负载。
9.什么是kubelet,它的作用是什么?
每个工作节点上都有一个代理,确保 Pod 中的容器按照指示运行。
10.容器运行时的作用是什么?
它运行容器(Docker、containerd、CRI-O)。
- Kubernetes 中的 Pod 是什么?
Pod 是最小的可部署单元,通常包裹一个或多个紧密耦合的容器。
- Pod 与容器有何不同?
容器:运行一个进程。
Pod:可以将多个共享网络和存储的容器分组。
- 一个 Pod 可以包含多个容器吗?为什么可以?
是的,如果容器紧密耦合并且需要共享资源(例如,app + sidecar)。
14.当 Pod 崩溃或失败时会发生什么?
控制器会自动重新启动它或者在不同的节点上重新安排它。
15.控制平面和工作节点如何通信?
通过API 服务器和kubelet,通常通过安全的 TLS 连接。
🎯 最后的想法
掌握 Kubernetes 架构不仅可以帮助您准备面试,还可以帮助您自信地设计、部署和管理云原生应用程序。