Kubernetes Label Selector Service

资源的 Label 可以通过 kubectl lable --help 查阅相关的操作;

 标签筛选 Selector : 

   -l, --selector='': Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)

    支持 in 选项,例如,查询app的值为 details 或者 productpage 可使用:app in (details, productpage)

    kubectl get svc -l  version!=v1,'app in (details, productpage)' --show-labels

 

Service:

  将一组标签符合的pod,通过serverce对象进行负载;

  一般情况下,Service 创建的同时会创建 Endpoint,当pod发生变化的时候k8s集群会更新 Endpoint,Service 和 Endpoint是关联的,两者通过名称进行关联的;

  如果创建service时没有指定 选择算符 的话,则不会自动创建 Endpoint,但是可以手动创建 Endpoint 并保持和 service 名称一致,此时 service 和 Endpoint 就会自动关联,改场景通常用于集群内部访问集群外部资源;

参考:https://kubernetes.io/zh/docs/concepts/services-networking/service/#services-without-selectors

1
2
3
4
5
6
7
8
9
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  ports:
    - protocol: TCP
      port: 80
      targetPort: 9376

  

1
2
3
4
5
6
7
8
9
apiVersion: v1
kind: Endpoints
metadata:
  name: my-service
subsets:
  - addresses:
      - ip: 192.0.2.42
    ports:
      - port: 9376

  

  NodePort类型,可以指定NodePort的端口,指定的端口必须在指定的范围内;

 

  域名代理:

    类型为 ExternalName 的服务将服务映射到 DNS 名称; 

1
访问 my-service 会被代理到 <em id="__mceDel">my.database.example.com</em>
1
2
3
4
5
6
7
8
apiVersion: v1
kind: Service
metadata:
  name: my-service
  namespace: prod
spec:
  type: ExternalName
  externalName: my.database.example.com

  

 

 

  

 

posted @   青灯浊酒  阅读(106)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体
点击右上角即可分享
微信分享提示