0

我了解到通过 Minikube 或 kind(这就是我正在使用的)运行的 Kubernetes 没有负载均衡器。该功能来自云提供商。但是,当我创建一个包含 3 个副本和一个服务的简单部署时:

kubectl create deployment kiada --image=luksa/kiada:0.1
kubectl scale deployment kiada --replicas=3
kubectl expose deployment kiada --type=LoadBalancer --port 8080

我可以通过:8080 到达不同的吊舱。

我的本地集群有 2 个工作节点。当我点击 :8080 时,有时我会收到运行在 worker-1 上的 pod 的响应,有时会收到运行在节点 worker-2 上的另一个 pod 的响应。不是负载均衡吗?

说到这里,我不明白为什么说 Kubernetes 本身不提供负载均衡,因为我看得很清楚。

4

1 回答 1

2

Kubernetes Service 将对与 Service 中指定的标签匹配的任何 Pod 的请求进行负载平衡。

不要将其与使用云负载均衡器(通常使用外部 IP 地址)公开您的服务type: LoadBalancer的方式混合使用。

于 2021-10-02T18:04:31.430 回答