55 个最热门 Kubernetes 面试问题及答案 (2025)

以下是 Kubernetes 面试问题,可以帮助新手和有经验的应聘者获得理想的工作。

 

Kubernetes 面试问题及答案(面向新人)

1)什么是 Kubernetes?

Kubernetes 是 Google 平台开发的容器管理系统。 Kubernetes 是在各种类型的物理、虚拟和云环境中管理容器化应用程序。Google Kubernetes 是一种高度灵活的容器工具,可以一致地交付甚至复杂的应用程序。应用程序在数百到数千台单独服务器的集群上运行。


2)在 Kubernetes 中定义节点

节点是硬件的最小单位。它定义了集群中的一台机器,可以是来自云提供商的虚拟机,也可以是数据中心的物理机器。Kubernetes 集群中可用的每台机器都可以替代其他机器。

Kubernetes


3)kube-scheduler 的工作是什么?

Kube-scheduler 是 Kubernetes 的默认调度器,它将节点分配给新创建的 Pod。


4)定义守护进程集

守护进程集是一组在主机上运行的 pod。它们用于主机层属性,例如监控网络或简单网络。


5)在 Kubernetes 中定义 Heapster

Heapster 是一个针对 Kublet 收集的数据的指标收集和性能监控系统。


6)Kubernetes 执行哪些任务?

Kubernetes 是用于分布式系统的 Linux 内核。它可以帮助您抽象节点(服务器)的底层硬件,并为使用共享资源池的应用程序提供一致的接口。


7)定义 Kubernetes 控制器管理器

控制器管理器是一个守护进程,用于垃圾收集、核心控制循环和命名空间创建。它允许在主节点上运行多个进程。


8)为什么在 Kubernetes 中使用命名空间?

Kubernetes 中的命名空间用于在用户之间划分集群资源。它有助于多个用户分散项目或团队的环境,并提供资源范围。


9)为什么使用 Kubernetes?

使用 Kubernetes 的原因是:

  • Kubernetes 可以运行本地裸机、OpenStack、Google 公有云, Azure, AWS等等。
  • 它可以帮助您避免供应商锁定问题,因为它可以使用任何特定于供应商的 API 或服务,除非 Kubernetes 提供抽象,例如负载均衡器和存储。
  • 它将支持需要在不停机的情况下发布和更新的应用程序。
  • Kubernetes 允许您确保这些容器化应用程序在您想要的时间和地点运行,并帮助您找到您想要使用的资源和工具。

10)Kubernetes 有哪些特点?

Kubernetes 的特点如下:

  • 自动排程
  • 自愈能力
  • 自动推出和回滚
  • 水平扩展和负载平衡
  • 为开发提供环境一致性, 测试, 和生产
  • 基础设施松散耦合,每个组件都可以作为独立的单元
  • 提供更高的资源利用密度
  • 提供企业级功能
  • 以应用为中心的管理
  • 自动可扩展的基础设施
  • 您可以创建可预测的基础设施

11)提及控制器管理器的类型

控制器管理器的类型有:1)端点控制器,2)服务账户控制器,3)节点控制器,4)命名空间控制器,5)复制控制器,6)令牌控制器。


12)解释 Kubernetes Archi质地

Kubernetes Archi结构图

  • 主节点: 主节点是负责 Kubernetes 集群管理的第一个也是最重要的组件。它是各种管理任务的入口点。集群中可能会有多个主节点来检查容错能力。
  • API服务器: API 服务器充当用于控制集群的所有 REST 命令的入口点。
  • 调度: 调度器将任务调度到从属节点,存储每个从属节点的资源使用信息,负责分配工作负载。
  • Etcd: etcd 组件,存储配置详细信息和正确的值。它与大多数组件通信以接收命令和工作。它还管理网络规则和端口转发活动。
  • 工作节点/从节点: 工作节点是另一个重要组件,它包含管理容器之间的网络所需的所有服务,与主节点通信,从而允许您为计划的容器分配资源。
  • 库贝莱特: 它从 API 服务器获取 Pod 的配置并确保所描述的容器启动并正在运行。
  • Docker容器: Docker 容器在每个工作节点上运行,运行配置的 pod。
  • 豆荚: pod 是逻辑上在节点上一起运行的单个或多个容器的组合。

13)列出 Kubernetes 中可用的各种服务

Kubernetes 中提供的各种服务包括 1) Cluster IP 服务、2)负载均衡器服务、3)节点端口服务、4)外部名称创建服务。


14)定义 Cluster IP

这款 Cluster IP 是 Kubernetes 的一项服务,它在集群内部提供服务,集群内的其他应用程序可以访问该服务。


15)解释节点端口

节点端口服务是将外部流量引至您的服务的基本方式。它在所有节点上打开特定端口并转发发送到此端口的网络流量。


16)定义kubelet

kubelet 是一个服务代理,它通过使用 Kubernetes 检查 Pod 规范来控制和维护 Pod 组。kubelet 在每个节点上运行,并允许主节点和从节点之间进行通信。


17)Kubernetes 有什么缺点?

  • Kubernetes 仪表盘没有发挥应有的作用
  • 安全措施不是很有效。
  • 它非常复杂并且会降低生产力
  • Kubernetes 比其替代方案更昂贵。

18)什么是 Kube-proxy?

Kube-proxy 是网络代理和负载均衡器的实现。它用于支持与其他网络操作一起使用的服务抽象。它负责根据 IP 和端口号将流量引导到容器。


19)Kubernetes 和 Docker Swarm 有什么区别?

Kubernetes 和 Docker Swarm 的区别在于:

Kubernetes 码头工人
Kubernetes 提供了自动伸缩功能。 Docker Swarm 不提供自动缩放功能。
手动配置您的负载平衡设置。 是否自动负载平衡
安装复杂且耗时。 安装简单、快捷。
GUI 可用。 GUI 不可用。
它提供了内置的负载平衡技术。 进行进程调度以在更新的同时维护服务。

20)定义入口网络

Ingress 网络被定义为允许连接到 Kubernetes 集群的规则集合。


21)Kubectl 用于什么?

Kubectl 是一个控制 Kubernetes 集群的软件,ctl 是 control 的缩写,是一个命令行界面,用于向集群传递命令,管理 Kubernetes 组件。


22)什么是 GKE?

GKE 或 Google Container Engine 是一个管理平台,支持在 Google 公共云服务中运行的集群和 Docker 容器。


23)为什么需要负载均衡器?

需要负载均衡器是因为它提供了一种在后端运行的不同服务之间分配网络流量的标准方法。


24)如何在本地运行 Kubernetes?

Kubernetes 可以使用 Minikube 工具在本地运行。它在计算机上的 VM(虚拟机)中运行单节点集群。因此,它为刚开始学习 Kubernetes 的用户提供了理想的方式。


25)用于容器监控的工具有哪些?

用于容器监控的工具有:

  • 堆垛机
  • 顾问
  • 普罗米修斯
  • 数据库
  • 格拉法纳

Kubernetes 面试问题及答案(针对经验丰富的人员)

26)列出 Kubernetes 的组件

Kubernetes 有三个组件,分别是:

  • 插件
  • 节点组件
  • 主组件

27)定义无头服务

无头服务被定义为使用 IP 地址的服务,但它不进行负载平衡,而是返回关联的 pod。


28)节点状态的重要组成部分是什么?

节点状态的重要组成部分有:

  • Condition
  • 容量
  • 资料包
  • 地址

29)什么是 minikube?

Minikube 是一款帮助用户运行 Kubernetes 的软件。它运行在计算机上 VM 内的单个节点上。使用 Kubernetes 开发应用程序的程序员也会使用此工具。


30)提及 GKE 的用途

GKE(Google Kubernetes Engine)的用途包括:

  • 可用于创建docker容器集群
  • 调整应用程序控制器的大小
  • 更新并升级容器集群
  • 容器的调试集群。
  • GKE 可用于创建复制控制器、作业、服务、容器容器或负载均衡器。

31)在 Kubernetes 中定义编排

Kubernetes 中的编排是一种自动调度每个容器工作的方法。它用于基于集群内微服务的应用程序。


32)解释 Kubernetes 中的 Prometheus

Prometheus 是一款用于监控和警报的应用程序。它可以被调用到您的系统中,获取实时指标,对其进行压缩,并正确存储在数据库中。


33)列出容器编排工具

容器编排工具有 1) Docker swarm、2) Apache Mesos 和 3) Kubernetes。


34)请说出 Kubernetes 的对象列表?

Kubernetes 中使用的对象有:1) Pod、2) 复制集和控制器、3) 作业和 cron 作业、4) 守护进程集、5) 独特身份、6) 部署、7) 和状态集。


35)在 Kubernetes 中定义状态集

有状态集是一个工作负载 API 对象,用于管理有状态应用程序。它还可用于管理 Pod 集的部署和扩展。有状态 Pod 的状态信息和其他数据存储在与有状态集连接的磁盘存储中。


36) 为什么要使用 Daemon 集?

使用守护进程集的原因是:

  • 它能够在每个节点上运行 ceph 和 glusterd 等存储平台。
  • 守护进程集在每个节点上运行日志收集,例如 filebeat 或 fluentd。
  • 它对每个节点执行节点监控。

37)解释副本集

副本集用于保持副本 Pod 稳定。它使我们能够指定可用的相同 Pod 数量。这可以被视为复制控制器的替代品。


38)列出一些重要的 Kubectl 命令:

重要的 Kubectl 命令是:

  • kubectl 注释
  • kubectl 集群信息
  • kubectl 附加
  • kubectl 应用
  • kubectl 配置
  • 自动缩放
  • kubectl 配置当前上下文
  • kubectl 配置集。

39)为什么使用 Kube-apiserver?

Kube-apiserver 是 Kubernetes 的 API 服务器,用于配置和验证 API 对象,包括服务、控制器等。它为集群的共享区域提供前端,组件通过它相互交互。


40)解释 Kubernetes pod 的类型

Kubernetes 中有两种类型的 pod:

  • 单容器吊舱: 它可以通过运行命令来创建。
  • 多容器容器: 它可以使用 Kubernetes 中的“create”命令来创建。

41)Kubernetes 中的标签是什么?

标签是包含一些值的键的集合。键值与 pod、复制控制器和相关服务相关。通常,标签是在创建某个对象时添加到该对象的。用户可以在运行时修改它们。


42)复制控制器的目标是什么?

复制控制器的目标是:

  • 它负责控制和管理 pod 生命周期。
  • 它监视并验证允许数量的副本是否正在运行。
  • 复制控制器帮助用户检查 pod 状态。
  • 它允许改变pod。用户可以按自己感兴趣的方式拖动其位置。

43)持久卷是什么意思?

持久卷是管理员控制的存储单元。它用于管理集群中的单个 Pod。


44)Kubernetes 中的 Secret 是什么?

Secret 是敏感信息,例如用户的登录凭据。它们是 Kubernetes 中的对象,在执行加密后存储用户名和密码等敏感信息。


45)什么是Sematext Docker Agent?

Sematext Docker 代理是一个带有事件和指标的日志收集代理。它在每个 Docker 主机中作为一个小容器运行。这些代理收集所有集群节点和容器的指标、事件和日志。


46)定义开放Shift

可选Shift 是Red Hat开发的公有云应用开发和托管平台,提供自动化管理,让开发者可以专注于编写代码。


47)定义 K8s

K8s(K-八个字符-S)是 Kubernetes 的术语。它是一个用于容器化应用程序的开源编排框架。


48)什么是联合集群?

联合集群由多个集群组成,这些集群作为单个集群进行管理。


49)说出 Docker 卷和 Kubernetes 卷之间的区别

Kubernetes 卷 Docker 卷
卷不限于任何容器。 卷仅限于容器中的一个容器内。
Kubernetes 卷支持在 Kubernetes 的一个 pod 中部署的所有容器。 Docker 卷不支持 Docker 中部署的所有容器。

50)在 Kubernetes 上提供 API 安全的方法有哪些?

在 Kubernetes 上提供 API 安全的方法有:

  • 使用正确的身份验证模式和 API 服务器身份验证模式=节点。
  • 使 kubeless 通过 authorization-mode=Webhook 保护其 API。
  • 确保 kube-dashboard 使用限制性 RBAC(基于角色的访问控制)策略

51)什么是 ContainerCreating pod?

ContainerCreating pod 是可以在节点上调度但无法正确启动的 pod。


52)Kubernetes 卷有哪些类型?

Kubernetes Volume 的类型有:

  • 空目录
  • GCE 持久磁盘
  • 植绒
  • 主机路径
  • NFS的
  • iSCSI
  • rbd
  • 持久卷声明
  • 向下API

53)解释 PVC

PVC 的全称是“持久卷声明”。它是 Kubernetes 为 Pod 请求的存储。用户不需要知道底层配置。此声明应在创建 Pod 的同一命名空间中创建。


54)什么是 Kubernetes 网络策略?

网络策略定义了同一命名空间中的 pod 如何相互通信以及如何与网络端点通信。


55)什么是 Kubernetes 代理服务?

Kubernetes 代理服务是在节点上运行并有助于使其可供外部主机使用的服务。

这些面试问题也会对你的口试有帮助