k8s~Endpoints的使用之负载均衡
在《k8s~Endpoints的使用》文章中,我们知道了如何通过Endpoints来访问外部资源,而本篇主要说一下它的另一个用法,service的负载均衡。
service的负载pod
注意:service转发到endpoints只是实现了负载均衡,并没有实现健康检查,也就是当,说endpoint指向的节点宕机后,service也是会将流量转向到这些节点的;如果希望实现监控检查,可以使用envoy。
service里有个endpoints,它里面存储所有pod的地址信息,即请求从外部打到k8s的service的nodeport端口之后(没有使用clusterIP虚拟ip,而是使用nodeport的方式,ip地址是节点宿主机的,端口也是宿主机的),它会将endpoints列表转发,而endpionts里存储的就是每个pod的ip地址,最后落到容器里。
-
通过外部负载均衡器把请求打到 k8s的service里
-
service通过endpoints进行负载,把请求打到具体pod上面
-
查看service信息,里面只显示可用的endpoint信息
[root@elasticsearch02 service-spi]# kubectl describe svc keycloak -n=cas
Name: keycloak
Namespace: pkulaw-cas
Labels: <none>
Annotations: field.cattle.io/publicEndpoints:
[{"addresses":["192.168.3.2"],"port":32080,"protocol":"TCP","serviceName":"cas:keycloak","allNodes":true}]
kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"name":"keycloak","namespace":"cas"},"spec":{"ports":[{"name":"htt...
Selector: app=keycloak
Type: NodePort
IP: 10.43.120.224
Port: http 8080/TCP
TargetPort: 8080/TCP
NodePort: http 32080/TCP
Endpoints: 10.42.1.180:8080,10.42.3.120:8080
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
- 查看endpoints信息,会区分可用和不可用的Subsets
[root@elasticsearch02 service-spi]# kubectl describe ep keycloak -n=cas
Name: keycloak
Namespace: cas
Labels: <none>
Annotations: <none>
Subsets:
Addresses: 10.42.1.180,10.42.3.120
NotReadyAddresses: 10.42.1.185
Ports:
Name Port Protocol
---- ---- --------
http 8080 TCP
Events: <none>
合集:
kubernetes
分类:
kubernetes
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
2016-12-08 异步与并行~List<T>是线程安全的吗?