Kubernetes中,关联资源的核心机制:选择器(Selector)​​

 Label Selector(标签选择器)

        标签选择器最常用​的选择器类型,通过标签key: value筛选资源,广泛用于 Service、Deployment、ReplicaSet (RS)等资源。

​核心语法
  • 精确匹配(子集)
    selector:
      matchLabels:
        app: frontend   #key:value
        env: prod
  • 复杂表达式​(matchExpressions):
    selector:
      matchExpressions:
        - key: ...
          operator: ...    # 支持 In、NotIn、Exists、DoesNotExist
          values: ...
操作符(Operator)
操作符说明
In值在列表中
NotIn值不在列表中
Exists标签存在即可(无需指定值)
DoesNotExist标签不存在
 例子
selector:
  matchExpressions:
    - key: app 
      operator: In    
      values: [v1,v2,...]   #value在values列表中时匹配

selector:
  matchExpressions:
    - key: app 
      operator: NotIn  
      values: [v1]          #value不在列表中时匹配

selector:
  matchExpressions:
    - key: app 
      operator: Exists      #存在标签(key)时就与之匹配

selector:
  matchExpressions:
    - key: app 
      operator: DoesNotExists     #不存在标签(key)时就与之匹配
 简单实践
apiVersion: v1
kind: Service
metadata:
  name: myservice
spec:
  type: NodePort
  selector:
    app: myapp  # 必须与 Pod 的 labels 匹配
  ports:
  - name: http
    port: 80
    targetPort: 80
    nodePort: 31212
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mydeploy
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp  # 必须与 Pod 模板中的 labels 一致
  template:
    metadata:
      labels:
        app: myapp  # 关键标签
    spec:
       containers:
       - name: mynginx
         image: nginx:1.16

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值