选型

Kubernetes

你可能会说

Docker 会了,下一步是不是必须学 k8s?

管理一群容器的编排系统你声明「要几个副本、什么镜像、怎么探活」,它负责调度到机器、滚动更新、失败重启和扩缩容。能力很强,代价是你要养一套集群和一套排错方法。
也常被叫作K8s容器编排
先问一句要多机调度/自愈?
默认Kubernetes→擅长滚动发布/自愈→别用三五人自建
成熟度采用

什么时候选它

  • 多个服务、多台机器,需要统一调度和发布
  • 需要滚动更新、回滚、自愈和水平扩缩容
  • 有平台团队能维护集群,或直接用托管 k8s
  • 需要统一的资源配额、网络和服务发现

什么时候别选

  • 一两个服务、一台机器:Docker Compose 就够
  • 没有运维能力,也没预算用托管服务——自建集群会吞掉开发时间
  • 只想要「部署方便」:先把镜像和 CI/CD 做好
容易混在一起 · 怎么分
Kubernetes≠Docker

Docker 造容器、跑容器;k8s 调度和治理一群容器。

Kubernetes≠微服务

单体也能跑在 k8s 上;微服务是架构选择,k8s 是运行平台。

Deployment≠Pod

Pod 是最小调度单位;Deployment 管 Pod 的副本、滚动更新和回滚。

Q面试会问什么

  • 问:核心组件有哪些?
    答:控制面有 API Server、etcd、Scheduler、Controller Manager;节点侧有 kubelet、kube-proxy / CNI 和容器运行时。
  • 问:三种探针的区别?
    答:liveness 失败重启容器,readiness 失败摘掉流量,startup 给慢启动应用留时间。
  • 问:滚动更新怎么保证不中断?
    答:Deployment 逐步替换 Pod,配合 readiness 探针和 maxUnavailable / maxSurge 控制节奏,异常可回滚。
延伸阅读 · 权威出处