Kubernetes(K8s) kubectl label 常用命令

Kubernetes(K8s)中使用Kubectl 命令行工具管理 Kubernetes 集群。 kubectl 在 $HOME/.kube 目录中查找一个名为 config 的配置文件。 可以通过设置 KUBECONFIG 环境变量或设置 --kubeconfig 参数来指定其它 kubeconfig 文件。本文主要介绍Kubernetes(K8s)中kubectl label 常用命令。

1、Kubectl语法

kubectl label [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--resource-version=version]

kubectl label:更新(增加、修改或删除)资源上的 label(标签)。为kubernetes集群的resource打标签,可以将不同的机器打上不同标签,然后将不同特征的容器调度到不同分组上。

1)label 必须以字母或数字开头,可以使用字母、数字、连字符、点和下划线,最长63个字符。

2)如果--overwritetrue,则可以覆盖已有的 label,否则尝试覆盖 label 将会报错。

3)如果指定了--resource-version,则更新将使用此资源版本,否则将使用现有的资源版本。

2、kubectl命令中的简写

kubectl命令中可以使用的缩写,具体如下:

certificatesigningrequests (缩写 csr)
componentstatuses (缩写 cs)
configmaps (缩写 cm)
customresourcedefinition (缩写 crd)
daemonsets (缩写 ds)
deployments (缩写 deploy)
endpoints (缩写 ep)
events (缩写 ev)
horizontalpodautoattachrs (缩写 hpa)
ingresses (缩写 ing)
limitranges (缩写 limits)
namespaces (缩写 ns)
networkpolicies (缩写 netpol)
nodes (缩写 no)
persistentvolumeclaims (缩写 pvc)
persistentvolumes (缩写 pv)
poddisruptionbudgets (缩写 pdb)
pods (缩写 po)
podsecuritypolicies (缩写 psp)
replicasets (缩写 rs)
replicationcontrollers (缩写 rc)
resourcequotas (缩写 quota)
serviceaccounts (缩写 sa)
services (缩写 svc)
statefulsets (缩写 sts)
storageclasses (缩写 sc)

3、kubectl label 命令

1)给名为foo的Pod添加label unhealthy=true

kubectl label pods foo unhealthy=true

2)给名为foo的Pod修改label 为 'status' / value 'unhealthy',且覆盖现有的value

kubectl label --overwrite pods foo status=unhealthy

3)给 namespace 中的所有 pod 添加 label

kubectl label pods --all status=unhealthy

4)仅当resource-version=1时才更新 名为foo的Pod上的label

kubectl label pods foo status=unhealthy --resource-version=1

5)给名为tomcat 的Pod添加label app=tomcat

kubectl label pods tomcat  app=tomcat

6)把名为tomcat 的Pod修改label 为 app=tomcat1,且覆盖现有的value

kubectl label --overwrite pods tomcat app=tomcat1

7)为namespace 中的所有 pod 添加 label

kubectl label pods --all test=test

8)删除名为“app”的label 。(使用“ - ”减号相连)

kubectl label pods tomcat app-
推荐阅读
cjavapy编程之路首页