DevOps 运维面试题

Docker vs Kubernetes — 面试指南

"Docker和Kubernetes有什么区别?"

为什么面试官会问这道题

这道基础题测试你对容器化(打包)和编排(大规模管理容器)的理解。

如何回答

  1. 1

    定义Docker为容器化平台,Kubernetes为编排系统。

  2. 2

    解释它们的互补关系。

  3. 3

    讨论何时需要一个vs两个都需要。

  4. 4

    分享实际经验。

参考回答示例

Docker和Kubernetes解决不同但互补的问题。Docker将应用打包成容器——包含代码、运行时和依赖的轻量可移植单元。Kubernetes在规模上编排这些容器——处理部署、扩缩容、网络、自愈和负载均衡。简单部署可以只用Docker,但大规模需要编排。我们用Docker做本地开发和CI构建,用Kubernetes做生产环境,需要自动扩缩、滚动更新和自愈。我们的K8s集群管理200+个pod,实现零停机部署。

实用技巧

  • 澄清它们是互补的而非竞争技术。

  • 提到替代方案:Docker Swarm、ECS、Nomad——展示广度。

  • 讨论实际权衡:Kubernetes增加了复杂性。

常见问题

总是需要Kubernetes吗?

不。小应用用Docker Compose或云托管服务更简单。Kubernetes在需要自动扩缩、自愈或管理多个微服务时有意义。

Docker Swarm呢?

Swarm更简单但功能不如Kubernetes丰富。适合想要基本编排但不要K8s复杂性的小团队。但Kubernetes已成为行业标准。

Kubernetes中的Pod是什么?

Pod是最小可部署单元——包含一个或多个共享网络和存储的容器。通常每个pod一个容器,但sidecar模式使用多个。

面试时担心忘词?即答侠实时助你

即答侠 AI 实时监听面试对话,自动识别问题并即时生成回答建议——无感辅助,让你从容应对每一道题。

免费试用即答侠