Kubernetes 标签和选择器
标签
标签是附加在Pod、复制控制器和服务上的键值对。它们被用作Pod和复制控制器等对象的识别属性。可以在创建对象时添加,并可以在运行时添加或修改。
选择器
标签没有提供唯一性。一般来说,我们可以说许多对象可以携带相同的标签。选择器是Kubernetes中的核心分组原语。用户可以使用选择器来选择一组对象。
Kubernetes API目前支持两种类型的选择器−
- 基于等式的选择器
- 基于集合的选择器
基于等式的选择器
它们允许按键和值进行过滤。匹配的对象应满足所有指定的标签。
基于集合的选择器
基于集合的选择器允许根据一组值来过滤键。
apiVersion: v1
kind: Service
metadata:
name: sp-neo4j-standalone
spec:
ports:
- port: 7474
name: neo4j
type: NodePort
selector:
app: salesplatform ---------> 1
component: neo4j -----------> 2
在上述代码中,我们使用标签选择器作为 app: salesplatform以及组件作为component: neo4j。一旦我们使用kubectl命令运行该文件,它会创建一个名为sp-neo4j-standalone
的服务,该服务会在端口7474上进行通信。类型为NodePort,带有新的标签选择器:app: salesplatform和component: neo4j。