美文网首页
kubernetes 学习笔记(二)修改 pod 标签后,dep

kubernetes 学习笔记(二)修改 pod 标签后,dep

作者: youthcity | 来源:发表于2020-08-30 11:20 被阅读0次

问题描述

当修改 Pod label 使其与 Deployment 不相符,集群有什么变化?

答案

当修改 Pod label 后,deployment 会发现自己少了一个 Pod,于是会重新启动一个新的Pod,并标记为自己的 label。修改标签 Pod 仍会存在。

如下图所示,我们使用一个 deployment 部署了两个Pods,并标记为 app=ai
我们修改第一 pod 的 标签为 app=a2后,deployment 会发现自己少了一个pod,于是会创建一个新的 pod,如第三行所示。

修改label后pods状态

Label 基础知识与常用命令

命令一:获取 Pods 的 label

$ kubectl get pods --show-labels
NAME       READY     STATUS    RESTARTS   AGE    LABELS
labelex    1/1       Running   0          10m    env=development

命令二:使用 label 过滤 pods

$ kubectl get pods --selector app=ai
# 或 kubectl get pods -l app=ai
NAME                             READY   STATUS    RESTARTS   AGE
ai-deployment-566d5f6c99-gzqmw   1/1     Running   0          2d13h
ai-deployment-566d5f6c99-wrkkb   1/1     Running   0          2d12h

刷选多个标签值

$ kubectl get pods -l 'app in (ai,a2)' --show-labels
NAME                             READY   STATUS    RESTARTS   AGE     LABELS
ai-deployment-566d5f6c99-8kn9c   1/1     Running   0          2d13h   app=a2,name=tc,pod-template-hash=566d5f6c99
ai-deployment-566d5f6c99-gzqmw   1/1     Running   0          2d13h   app=ai,pod-template-hash=566d5f6c99
ai-deployment-566d5f6c99-wrkkb   1/1     Running   0          2d12h   app=ai,pod-template-hash=566d5f6c99

命令三:添加 label

  # Update pod 'foo' with the label 'unhealthy' and the value 'true'.
  kubectl label pods foo unhealthy=true

命名四:删除 label

  # Update pod 'foo' by removing a label named 'bar' if it exists.
  # Does not require the --overwrite flag.
  kubectl label pods foo bar-
删除label

命令五:修改已有的 label

  # Update pod 'foo' with the label 'status' and the value 'unhealthy', overwriting any existing value.
  kubectl label --overwrite pods foo status=unhealthy

上述命令,均可以通过 kubectl label --helpkubectl get pods --help 查询到。

相关资料

相关文章

网友评论

      本文标题:kubernetes 学习笔记(二)修改 pod 标签后,dep

      本文链接:https://www.haomeiwen.com/subject/idassktx.html