ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
Service 存在的意义是提供服务发现与负载均衡功能。 <br/> **1. 服务发现** ```shell # kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE ... tomcat9-dep01-776d959696-7vknf 1/1 Running 0 95m 10.244.2.16 k8s-node2 ... tomcat9-dep01-776d959696-dg7sh 1/1 Running 0 95m 10.244.1.21 k8s-node1 ... tomcat9-dep01-776d959696-l8znb 1/1 Running 0 95m 10.244.1.20 k8s-node1 ... ``` 上面的 IP 列是每个 pod 的 ip 地址,它们都是唯一的。但是当 pod 回滚、更新时这些 ip 地址是会变的,这就无法访问到 pod 了。这时就需要用 Service 来做服务发现,如下图: ![](https://img.kancloud.cn/fe/46/fe46a9196cef6a655210db00e8b567af_1222x603.png) 每个 Pod 都会将自己更新后的 ip 注册到 Service 中,当想要访问 Pod 时,访问 Service 即可,Service 会将请求转发到对应的 pod 中。 <br/> **2. 负载均衡** ![](https://img.kancloud.cn/8a/78/8a78318d3e93438b85c797db788d1e19_1230x453.png) 上图的 3 个 pod 提供的服务是一样的,利用 Service 可以将压力分摊到这些 pod 上,不至于导致一个 pod 压力过大。 **** 参考文档:https://feisky.xyz/kubernetes-handbook/concepts/service.html