1、label(标签)
label(标签)是附加到 pod、复制控制器和服务的键值对。它们被用作识别对象的属性,一个label是 一个key=value的键值对,其中key与value由用户自己指定。label可以被附加到各种资源对象上,例如,Node、Pod、Service、RC等,一个资源对 象可以定义任意数量的label,同一个label也可以被添加到任意数量的 资源对象上。label通常在资源对象定义时确定,也可以在对象创建后动态添加或者删除。
2、selector(选择器)
label(标签)不具唯一性。一般来说,我们可以说许多对象可以带有相同的标签。标签选择器是 Kubernetes 中的核心分组。用户使用它们来选择一组对象。
Kubernetes API 目前支持两种类型的选择器:
1)基于等式的选择器
它们允许按key和value进行过滤。匹配对象应满足所有指定的标签。
2)基于集合的选择器
基于集合的选择器允许根据一组value过滤key。
例如,
apiVersion: v1 kind: Service metadata: name: sp-nginx-standalone spec: ports: - port: 7474 name: nginx type: NodePort selector: app: service component: nginx
将label
标签选择器用作app: service
,将component
组件用作component: nginx
。
一旦我们使用kubectl
命令运行该文件,它将创建一个名为sp-nginx-standalone
的服务,该服务将在8080
端口上进行通信。type
为NodePort
,新的标签选择器为app: service
和component: nginx
。
相关文档: