Kubernetes一直是当今业界的流行语,也是最好的编排工具。它吸引了许多想要提升自己职业生涯的经验丰富的专业人士。HuaWei,Pokemon,Box,eBay,Ing,Yahoo Japan,SAP,纽约时报,Open AI,Sound Cloud等跨国公司也使用Kubernetes。我相信你已经知道这些事实,这也是促使你打开这个Kubernetes面试问题文章原因。
在这篇关于Kubernetes面试问题的文章中,我将讨论在面试中提出的与Kubernetes相关的最重要问题。因此,为了您的理解,我将此博客分为以下4个部分:
Kubernetes基本面试问题
基于架构的面试问题
基于场景的面试问题
多项选择题
所以让我们开始吧!!
基本的Kubernetes面试问题
这部分问题将包含您需要了解的与Kubernetes工作相关的所有基本问题。
Q1。Kubernetes与Docker Swarm的区别如何?
Q2。什么是Kubernetes?
Kubernetes是一个开源容器管理工具,负责容器部署,容器扩缩容以及负载平衡。作为Google的创意之作,它提供了出色的社区,并与所有云提供商合作。因此,我们可以说Kubernetes不是一个容器化平台,而是一个多容器管理解决方案。
Q3。Kubernetes与Docker有什么关系?
众所周知,Docker提供容器的生命周期管理,Docker镜像构建运行时容器。但是,由于这些单独的容器必须通信,因此使用Kubernetes。因此,我们说Docker构建容器,这些容器通过Kubernetes相互通信。因此,可以使用Kubernetes手动关联和编排在多个主机上运行的容器。
Q4。在主机和容器上部署应用程序有什么区别?
请参考上图。左侧架构表示在主机上部署应用程序。因此,这种架构将具有操作系统,然后操作系统将具有内核,该内核将在应用程序所需的操作系统上安装各种库。因此,在这种框架中,您可以拥有n个应用程序,并且所有应用程序将共享该操作系统中存在的库,而在容器中部署应用程序时,体系结构则略有不同。
这种架构将有一个内核,这是唯一一个在所有应用程序之间唯一共同的东西。因此,如果有一个需要Java的特定应用程序,那么我们将获得访问Java的特定应用程序,如果有另一个需要Python的应用程序,则只有该特定应用程序才能访问Python。
您可以在图表右侧看到的各个块基本上是容器化的,并且这些块与其他应用程序隔离。因此,应用程序具有与系统其余部分隔离的必要库和二进制文件,并且不能被任何其他应用程序侵占。
Q5。什么是Container Orchestration?
考虑一个应用程序有5-6个微服务的场景。现在,这些微服务被放在单独的容器中,但如果没有容器编排就无法进行通信。因此,由于编排意味着所有乐器在音乐中和谐共处,所以类似的容器编排意味着各个容器中的所有服务协同工作以满足单个服务器的需求。
Q6。Container Orchestration需要什么?
考虑到你有5-6个微服务用于执行各种任务的单个应用程序,所有这些微服务都放在容器中。现在,为了确保这些容器彼此通信,我们需要容器编排。
正如您在上图中所看到的,在没有使用容器编排的情况下,还存在许多挑战。因此,为了克服这些挑战,容器编排就到位了。
Q7。Kubernetes有什么特点?
Kubernetes的功能如下:
Q8。Kubernetes如何简化容器化部署?
由于典型应用程序将具有跨多个主机运行的容器集群,因此所有这些容器都需要相互通信。因此,要做到这一点,你需要一些能够负载平衡,扩展和监控容器的东西。由于Kubernetes与云无关并且可以在任何公共/私有提供商上运行,因此必须是您简化容器化部署的选择。
Q9。您对Kubernetes的集群了解多少?
Kubernetes背后的基础是我们可以实施所需的状态管理,我的意思是我们可以提供特定配置的集群服务,并且集群服务将在基础架构中运行并运行该配置。
因此,正如您在上图中所看到的,部署文件将具有提供给集群服务所需的所有配置。现在,部署文件将被提供给API,然后由集群服务决定如何在环境中安排这些pod,并确保正确运行的pod数量。
因此,位于服务前面的API,工作节点和节点运行的Kubelet进程,共同构成了Kubernetes集群。
Q10。什么是Google容器引擎?
Google Container Engine(GKE)是Docker容器和集群的开源管理平台。这个基于Kubernetes的引擎仅支持在Google的公共云服务中运行的群集。
Q11。什么是Heapster?
Heapster是由每个节点上运行的Kubelet提供的集群范围的数据聚合器。此容器管理工具在Kubernetes集群上本机支持,并作为pod运行,就像集群中的任何其他pod一样。因此,它基本上发现集群中的所有节点,并通过机上Kubernetes代理查询集群中Kubernetes节点的使用信息。
Q12。什么是Minikube?
Minikube是一种工具,可以在本地轻松运行Kubernetes。这将在虚拟机中运行单节点Kubernetes群集。