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 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体