中间件速查手册
容器与编排无状态部署

Deployment 是什么?

声明要几个副本,负责滚动更新和回滚

类比:包工头,保证工地上始终有 3 个人在干活

它管什么

Deployment 声明「我要 3 个这个镜像的 Pod」,它创建 ReplicaSet 来维持副本数,并通过新建/缩容 ReplicaSet 完成滚动更新。

滚动更新参数

这两个参数决定了更新的激进程度。

  • maxSurge:最多可以多出几个 Pod(默认 25%)
  • maxUnavailable:最多可以少几个 Pod(默认 25%)
  • 两者都设 0 会卡住,都设很大则可能瞬间翻倍占资源
  • minReadySeconds + readinessProbe 决定新 Pod 什么时候算就绪

回滚与暂停

kubectl rollout undo deployment/app 回到上一版;rollout history 看历史;rollout pause 暂停更新做金丝雀观察。

注意:Deployment 只管无状态服务,有状态(数据库)要用 StatefulSet。

它出现在这些中间件里

相关问题

相关概念