热门的Kubernetes面试问题
现在最好的编排技术是Kubernetes,它已经成为行业的热门词汇。它吸引了很多希望在企业中升迁的经验丰富的员工。包括华为、Pokémon、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的本地开源容器编排工具被称为Docker Swarm。它用于集群和安排Docker容器。下面列出了Swarm和Kubernetes的不同方式 –
- 虽然Kubernetes更难设置,但它的优势是有一个坚实的集群的保证。Docker Swarm更容易设置,但缺乏一个强大的集群。
-
虽然Kubernetes和Docker Swarm都缺乏做自动扩展的能力,但Docker扩展的速度是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-daemon set in
第一条指令将节点置于维护模式或以其他方式使其无法访问,之后是kubectl drain,将pod从节点上永久删除。一旦排水命令被成功执行,就可以进行维护了。
注意 – 以下两个命令可以依次用来对单个pod进行维护 —
- kubectl get nodes: 列出所有的节点
-
kubectl drain
<node name>
: 排出一个特定的节点
究竟什么是init容器,什么时候可以利用它
在启动POD之前,init容器将为你建立一个阶段。
当使用sleep 60这样的命令来启动方案容器时,请等待一段时间。
进入一个卷,克隆一个git仓库。
负载均衡在Kubernetes中具有什么功能
负载均衡的用法,有助于保证用户对应用程序的访问,它可以将传入的流量在几个后端服务器上进行分配。
在Kubernetes中,如上图所示,所有传入的流量都起源于负载均衡器上的一个IP地址,允许你将你的服务暴露给外部世界。然后,负载平衡器使用轮回算法,将传入的流量引导到特定的pod(通过服务)。即使单个pod出现故障,负载均衡器也会收到警报,防止流量被发送到那个特定的不可达节点。因此,Kubernetes负载均衡器负责将一些工作(传入流量)分配给pod。
什么是operators
operators提供了利用自定义资源管理应用程序及其构成部分的能力,作为K8的扩展。一般来说,operators遵循所有与Kubernetes相关的规则,特别是那些处理控制循环的规则。
描述一下GKE
GKE是谷歌Kubernetes引擎的简称,是一个管理和协调Docker容器系统的工具。容器集群也可以借助于谷歌公有云来进行协调。
什么是集群IP
主机端口和pods或map容器端口是通过集群IP连接的,它是一个内置的Kubernetes服务。它提供集群服务,并允许访问属于同一集群的其他应用程序。
列出Kubernetes提供的一些好处
以下是Kubernetes的一些好处 –
- 免费和开源,Kubernetes
-
它比Docker swarm更强大,可扩展性很强。它还可以在任何操作系统上运行。
-
它提供健康检查、滚动更新、自动扩展和调度器。
-
它有一个扁平的网络环境和专门的功能。
-
构建高效的CI/CD管道很简单。
-
它可以提高产出。
总结
以上列出的Kubernetes面试问题是12个基本级别的问题,这些问题将帮助你对你的Kubernetes知识理解进行自我分析,并允许你采取措施,根据你未来的面试水平和你的水平之间的差距,为你的下一次面试做准备。