Menu
CoddyTech

通过清单创建 Deployment

本课属于 Coddy Terminal 学习旅程的“Kubernetes 入门”单元。第 13 课,共 45 课。

部署通常也写成清单。kind 是来自 apps/v1 API 的 Deployment,spec 包含三部分:replicas 的数量、用于指定哪些 Pod 属于该部署的 selector,以及用于定义它所创建的 Pod 的 template:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
spec:
  replicas: 1
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
        - name: web
          image: nginx

这个模板是一个不包含 apiVersion 和 kind 的 Pod 清单。它的标签必须与选择器匹配,否则 Kubernetes 会拒绝该文件:Deployment 正是通过这种方式识别自己的 Pod。

kubectl apply 是声明式的:应用一次文件,Deployment 就会被created;再次应用未更改的文件时,kubectl 会显示unchanged。编辑文件,例如将其改为 replicas: 3,然后再次应用:返回结果是configured,集群也会转为新状态。

kubectl apply -f deployment.yaml
challenge icon

挑战

简单

名为 deployment.yaml 的清单描述了一个包含 1 个副本的 web Deployment。应用它。然后从文件树中打开该文件,将 replicas 改为 3,保存后再次应用。最后显示 web Deployment,确认 3/3 个副本已就绪。

亲手试试

终端
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

Kubernetes 入门中的所有课

自己练习: Terminal 在线编辑器