Kubernetes
你可能会说
Docker 会了,下一步是不是必须学 k8s?
管理一群容器的编排系统你声明「要几个副本、什么镜像、怎么探活」,它负责调度到机器、滚动更新、失败重启和扩缩容。能力很强,代价是你要养一套集群和一套排错方法。
也常被叫作K8s容器编排
什么时候选它
- 多个服务、多台机器,需要统一调度和发布
- 需要滚动更新、回滚、自愈和水平扩缩容
- 有平台团队能维护集群,或直接用托管 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 控制节奏,异常可回滚。
延伸阅读 · 权威出处