Kubernetes描述文件

  1. apiVersion & kind & metadata
  2. spec

apiVersion & kind & metadata

完整示例点击此处
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 2 # tells deployment to run 2 pods matching the template
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

查看示例原址,点击此处

简要示例:

1
2
3
4
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
  name: nginx-deployment
  • apiVersion : Kubernetes API 的版本。
  • kind:对象的类型。常见的对象有:PodDeployment
  • metadata - 帮助识别对象唯一性的数据。
    • name 名字,每个类型的资源之间名字不可以重复。调用命令时常用的参数就是名字。
    • UID ,每个生命周期的每个对象UID都不同,用于标识对象的历史。[1]
    • namespace命名空间(可选的) ,用于需要跨团队或跨项目的场景。[2]

spec

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 2	#
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
  • selector标签选择器:在不同对象中有不同的解释,在 Deployment解释为帮助 Deployment找到对应的Pod进行管理。[3]
  • replicas:创建的个数。[3]
  • template:PodTemplates用于创建Pod的式样书,用于 DeploymentJobDaemonSet等对象。[3][4]