标签和选择器是 Kubernetes 中的基本概念,能帮助你有效地组织和管理资源。标签是附加到对象上的键值对,而选择器则是用于根据标签过滤这些对象的查询。


下面的代码片段演示了如何创建带有标签的 pod,以及如何使用选择器来查询这些 pod。

[代码清单]

apiVersion: v1
kind: Pod
metadata:
 name: my-pod
 labels:
  app: my-app
  env: production
spec:
 containers:
 - name: my-container
  image: nginx
To list pods with a specific label, you can use the following command:
kubectl get pods -l app=my-app

[执行结果]

NAME   READY  STATUS  RESTARTS  AGE
my-pod  1/1   Running  0     1m

在这个示例中,我们创建了一个名为 my-pod 的 pod,它有两个标签:app 设置为 my-app,env 设置为 production。标签可用于对资源进行分组,也可用于选择器过滤资源。使用 kubectl get pods -l app=my-app 命令可以检索标签 app 设置为 my-app 的所有 pod。这样就可以根据资源的特性轻松管理和查询资源。

[小知识]

标签可用于多种目的,如版本控制、环境标识或对相关组件进行分组。

您可以使用逻辑运算符组合多个选择器。例如,kubectl get pods -l app=my-app,env=production 将列出符合这两个标签的 pod。

标签并不是唯一的;多个资源可能具有相同的标签。