Kubernetes 面试高频问题
如今最好的编排技术是 Kubernetes,它已经成为行业的流行语。它吸引了许多经验丰富的员工寻求职业晋升。包括华为、宝可梦、eBay、雅虎日本、SAP、Open AI 和 Sound Cloud 在内的国际企业每天都在使用 Kubernetes。然而,市场上缺乏 Kubernetes 认证专家。我想您已经了解这些细节,这促使您阅读这篇关于 Kubernetes 面试问题的文章。本文将帮助您了解最常见的面试问题。
描述 Kubernetes
Kubernetes 是一个开源的容器管理平台,负责容器的负载均衡、扩展和缩容以及容器部署。作为谷歌的产物,它拥有强大的社区支持,并与所有云提供商完美配合。因此,我们可以得出结论:Kubernetes 是一种多容器管理工具,而不是容器化的平台。
Docker 和 Kubernetes 之间的关系是什么?
众所周知,Docker 镜像创建运行时容器,Docker 管理容器的生命周期。但是,由于这些独立的容器需要交互,因此使用 Kubernetes。因此,容器由 Docker 创建,它们使用 Kubernetes 相互交互。因此,Kubernetes 可用于手动连接和协调在多个主机上运行的容器。DevOps 工程师经验要求
容器编排是如何工作的?
假设您的应用程序包含 5-6 个微服务。这些微服务现在分别驻留在不同的容器中,但是如果没有容器编排,它们就无法交互。因此,容器编排指的是所有在独立容器中的服务协同工作以满足单个服务器的需求,就像在音乐中,编排指的是所有乐器一起演奏的融合一样。
K8s 是做什么的?
Kubernetes 的另一个名称是 K8s。
Kubernetes 和 Docker Swarm 的主要区别是什么?
Docker Swarm 是 Docker 原生的开源容器编排工具。它用于集群和调度 Docker 容器。以下是 Swarm 和 Kubernetes 的区别:
Kubernetes 的设置虽然更复杂,但它具有强大的集群保证的优势。Docker Swarm 设置更容易,但缺乏强大的集群。
虽然 Kubernetes 和 Docker Swarm 都缺乏自动扩展的能力,但 Docker 的扩展速度是 Kubernetes 的五倍。
与 Kubernetes 不同的是,Kubernetes 包含仪表板形式的 GUI,而 Docker Swarm 则缺少 GUI。
Kubernetes 需要用户干预才能在集群中的容器之间进行负载均衡,而 Docker Swarm 自动完成此操作。
Kubernetes 包含内置的日志记录和监控功能,而 Docker 需要像 ELK 堆栈这样的外部工具。
与 Kubernetes 不同,Kubernetes 只能与同一 pod 中的容器共享存储卷,而 Docker Swarm 可以轻松地与任何容器共享存储卷。
Kubernetes 可以部署滚动更新和自动回滚,而 Docker 只能部署滚动更新;后者无法部署自动回滚。
如何进行 K8 节点维护?
Kubernetes 管理员必须执行维护操作,以便在操作系统容器中出现安全补丁时部署它以防止漏洞,这通常是管理中不可避免的一部分。要安全地排空 K8s 节点,请执行以下两个命令。
kubectl Cordon
kubectl drain -ignore-daemonset
第一个命令将节点置于维护模式或使其不可访问后,就是 kubectl drain,它将 pod 从节点中永久删除。成功执行 drain 命令后,就可以进行维护了。
注意 - 可以按顺序使用以下两个命令来对单个 pod 进行维护:
kubectl get nodes:列出所有节点
kubectl drain <节点名称>:排空特定节点
什么是 init 容器,以及何时可以使用它?
在启动 POD 之前,init 容器将为您建立一个阶段。
使用 sleep 60 等命令启动程序容器时,请等待一段时间。
克隆到卷中的 git 仓库。
负载均衡在 Kubernetes 中起什么作用?
负载均衡的使用有助于确保应用程序对用户可见,它允许将传入流量分发到多个后端服务器。
在 Kubernetes 中,如上图所示,所有传入流量都源自负载均衡器上的单个 IP 地址,允许您将服务公开给外部世界。然后,负载均衡器使用轮询算法将传入流量定向到特定 pod(通过服务)。即使单个 pod 失败,负载均衡器也会收到警报,防止流量发送到该特定不可达节点。因此,Kubernetes 负载均衡器负责将许多作业(传入流量)分发到 pod。
什么是运算符?
运算符提供了一种使用自定义资源来管理应用程序及其组成部分的能力,作为 K8 的扩展。通常,运算符遵循所有 Kubernetes 相关的规则,特别是那些处理控制循环的规则。
描述 GKE
GKE(Google Kubernetes Engine 的缩写)是一种用于管理和编排 Docker 容器系统的工具。借助 Google 公共云,还可以编排容器集群。
什么是集群 IP?
集群 IP 是 Kubernetes 内置的服务,它连接主机端口和 pod 或映射容器端口。它提供集群服务,并允许访问属于同一集群的其他应用程序。
列出 Kubernetes 提供的一些好处?
以下是 Kubernetes 的一些好处:
Kubernetes 免费且开源
它比 Docker swarm 更强大,并且非常可扩展。它还可以在任何操作系统上运行。
它提供健康检查、滚动更新、自动扩展和调度程序。
它具有扁平的网络环境和专门的功能。
构建高效的 CI/CD 管道很简单。
它可以提高生产力。
结论
上面列出的 Kubernetes 面试问题是 12 个基础级别的题目,可以帮助您对自己的 Kubernetes 知识理解进行自我分析,并根据您即将参加的面试级别和您自身水平之间的差距,采取措施并为下一次面试做好准备。