k8s面试题
所属分类 architecture
浏览量 1560
基础篇
基础篇主要面向的初级、中级开发工程师职位,主要考察对 k8s 本身的理解。
kubernetes 包含几个组件。各个组件的功能是什么。组件之间是如何交互的。
k8s 的 pause 容器有什么用。是否可以去掉。
k8s 中的 pod 内几个容器之间的关系是什么。
一个经典 pod 的完整生命周期。
k8s 的 service 和 ep 是如何关联和相互影响的。
详述 kube-proxy 原理,一个请求是如何经过层层转发落到某个 pod 上的整个过程。请求可能来自 pod 也可能来自外部。
rc/rs 功能是怎么实现的。详述从 API 接收到一个创建 rc/rs 的请求,到最终在节点上创建 pod 的全过程,尽可能详细。另外,当一个 pod 失效时,kubernetes 是如何发现并重启另一个 pod 的?
deployment/rs 有什么区别。其使用方式、使用条件和原理是什么。
cgroup 中的 cpu 有哪几种限制方式。k8s 是如何使用实现 request 和 limit 的。
拓展实践篇
拓展实践篇主要面向的高级开发工程师、架构师职位,主要考察实践经验和技术视野。
设想一个一千台物理机,上万规模的容器的 kubernetes 集群,请详述使用 kubernetes 时需要注意哪些问题?应该怎样解决?(提示可以从高可用,高性能等方向,覆盖到从镜像中心到 kubernetes 各个组件等)
设想 kubernetes 集群管理从一千台节点到五千台节点,可能会遇到什么样的瓶颈。应该如何解决。
kubernetes 的运营中有哪些注意的要点。
集群发生雪崩的条件,以及预防手段。
设计一种可以替代 kube-proxy 的实现。
sidecar 的设计模式如何在 k8s 中进行应用。有什么意义。
灰度发布是什么。如何使用 k8s 现有的资源实现灰度发布。
介绍 k8s 实践中踩过的比较大的一个坑和解决方式。
上一篇
下一篇
OSGI与Java模块化之路
Lambda表达式与匿名内部类的区别
Java方法调用的字节码指令
top命令输出说明
linux mpstat 命令
linux iostat 命令