大量的 pod 需要组织:

image.png

3.3.1 介绍标签

标签是 key-value 形式.

例子:

  • app: 所属服务
  • rel: 程序版本

金丝雀发布:

image.png

image.png

3.3.2 创建 pod 时指定标签

  1. $ kubectl create -f main-manual.yaml
  2. pod/hello-pod-v2 created

指定列出标签:

  • --show-labels
  1. $ kubectl get po --show-labels
  2. NAME READY STATUS RESTARTS AGE LABELS
  3. hello-node-86ddc8d867-rkfq6 1/1 Running 1 22h app=hello-node,pod-template-hash=86ddc8d867
  4. hello-pod 1/1 Running 0 101m <none>
  5. hello-pod-v2 1/1 Running 0 59s creation_method=manual,env=prod
  • 以列的形式展示标签: -L
  1. $ kubectl get po -L creation_method,env
  2. NAME READY STATUS RESTARTS AGE CREATION_METHOD ENV
  3. hello-node-86ddc8d867-rkfq6 1/1 Running 1 22h
  4. hello-pod 1/1 Running 0 104m
  5. hello-pod-v2 1/1 Running 0 3m36s manual prod

3.3.3 修改现有 pod 的标签

添加标签:

  1. $ kubectl label po hello-pod creation_method=manual
  2. pod/hello-pod labeled

更改标签:

  • --overwrite
  1. $ kubectl label po hello-pod-v2 env=debug --overwrite
  2. pod/hello-pod-v2 labeled