六度

k8s面试问题总结

k8s 管理节点和被管理节点都有那些组件,之前如何通信的 k8s 探针有几种类型 k8s 有那些控制器 k8s 如何对外暴露服务的

  1. Master管决策,Node管干活,所有流量走apiserver,数据存etcd
  2. liveness杀进程,readiness切流量,startup保慢启动
  3. 无状态用Deploy,有状态用StatefulSet,节点常驻用DaemonSet,任务用Job
  4. 内网ClusterIP、测试NodePort、四层LB、七层Ingress生产首选

1.管理节点(Master/Control Plane)和被管理节点(Node)都有哪些组件?它们之间如何通信?

您的总结: Master管决策,Node管干活,所有流量走apiserver,数据存etcd。

详细展开:

节点类型核心组件功能
管理节点 (Control Plane)kube-apiserver集群的唯一入口,所有操作(kubectl、其他组件)都通过它。
etcd分布式键值存储,保存所有集群数据(状态、配置)。
kube-scheduler调度器,负责将新Pod分配到合适的Node上。
kube-controller-manager控制器管理器,运行各种控制器(如Deployment控制器),维护期望状态。
被管理节点 (Node)kubelet节点代理,负责管理Pod和容器,与apiserver通信汇报状态。
kube-proxy网络代理,维护网络规则,实现Service的负载均衡。
容器运行时实际运行容器的引擎,如Docker、containerd。

通信机制:
您的总结“所有流量走apiserver”完全正确。所有组件(包括kubelet、scheduler、controller-manager)都只与kube-apiserver进行通信,不直接相互通信。apiserver是集群的总线和中枢神经。


2. Kubernetes 探针(Probe)有几种类型?

您的总结: liveness杀进程,readiness切流量,startup保慢启动。

详细展开:

探针类型作用失败后的行为典型场景
livenessProbe
(存活探针)
探测容器是否存活重启容器
(“杀进程”)
检测应用死锁、无响应等无法自愈的情况,让K8s替您重启恢复。
readinessProbe
(就绪探针)
探测容器是否准备好接收流量。将Pod IP从Service的Endpoints中移除
(“切流量”)
应用启动慢、依赖外部服务(如数据库)未就绪时,暂时不接收流量,避免请求失败。
startupProbe
(启动探针)
探测容器应用是否启动完成失败则被livenessProbe接管,或重启容器。
(“保慢启动”)
保护启动时间特别长的应用(如Java应用),在启动期间禁用livenessProbe的检查,防止因启动慢而被误杀。

3. Kubernetes 有哪些常用的控制器(Controller)?

您的总结: 无状态用Deploy,有状态用StatefulSet,节点常驻用DaemonSet,任务用Job。

详细展开:

控制器核心用途典型例子
Deployment管理无状态应用。支持滚动更新、回滚、扩缩容。Nginx、Web应用、微服务。
StatefulSet管理有状态应用。提供稳定的网络标识(主机名)、持久化存储。MySQLElasticsearchZooKeeper
DaemonSet确保集群每个节点(或符合条件节点)上运行一个Pod副本日志收集(Fluentd)、监控代理(Prometheus Node Exporter)、网络插件(Calico)。
Job负责运行一次性任务,任务完成后Pod正常退出。数据库迁移、批量数据处理。
CronJob基于时间调度的周期性任务定时备份、定时报表发送。

4. Kubernetes 如何对外暴露服务?

您的总结: 内网ClusterIP、测试NodePort、四层LB、七层Ingress生产首选。

详细展开(由内到外):

Service类型/资源访问范围层级适用场景
ClusterIP仅集群内部访问。四层(TCP/UDP)内部微服务互相调用。
NodePort集群外部通过 <节点IP>:<端口> 访问。四层(TCP/UDP)测试环境或临时暴露服务。生产环境少用(端口管理不便,暴露节点IP)。
LoadBalancer利用云厂商的四层负载均衡器暴露服务。四层(TCP/UDP)云环境(AWS、阿里云等)生产环境,提供独立公网IP。
Ingress通过七层(HTTP/HTTPS)路由规则暴露集群内服务。七层(HTTP/HTTPS)生产环境首选。提供基于域名、路径的路由,支持SSL证书、负载均衡、更灵活的流量管理。

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »