DevOps1 分钟

Kubernetes 学习笔记:从 Deployment 开始

通过 Deployment、Pod 和 Service 梳理 Kubernetes 应用部署的基础路径。

Kubernetes 学习笔记:从 Deployment 开始 封面图

Deployment 解决什么问题

Deployment 是 Kubernetes 中管理无状态应用的常用资源。它负责声明副本数量、镜像版本和滚动更新策略。

对个人项目来说,理解 Deployment 的价值在于:它把“我希望服务以什么状态运行”写成了声明式配置。

基础结构

一个最小 Deployment 通常包含:

  • metadata.name
  • spec.replicas
  • spec.selector
  • spec.template
  • containers.image
apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo-api
spec:
  replicas: 2
  selector:
    matchLabels:
      app: demo-api
  template:
    metadata:
      labels:
        app: demo-api
    spec:
      containers:
        - name: demo-api
          image: demo-api:latest

和 Service 的关系

Deployment 负责应用副本,Service 负责稳定访问入口。

没有 Service 时,Pod 的 IP 变化会让调用方很难稳定访问服务。Service 把这种变化封装起来,让调用方只关心固定入口。

小结

如果只记一个核心点:Deployment 管运行状态,Service 管访问入口。