Docker for Mac(Edge) - Kubernetes - LoadBalancer

Docker for Mac(Edge) - Kubernetes - LoadBalancer

我们在 Docker 中为 Mac.

提供了一个 LoadBalancer 真是太酷了

我对创建的端口有疑问:

apiVersion: v1
kind: Service
metadata:
  name: nginx
  labels:
    run: nginx
spec:
  ports:
    port: 9999
    targetPort: 80
  selector:
    run: nginx
  type: LoadBalancer

这给了我(kubectl get service):

nginx        LoadBalancer   10.96.128.253   localhost     9999:32455/TCP   2s

什么是 32455

谢谢

32455 是你的节点端口。 Kubernetes 自动为集群外部可访问的任何服务(包括 LoadBalancer 类型的服务)分配一个唯一的 nodePort。您也可以在同一配置中自己指定这些,只要您 .

关于 Docker 具体来说 Mac,Kubernetes 正在创建一个监听 localhost:9999 的服务。这是 kubernetes 创建的 "egress",因为您实际上没有负载均衡器,它本质上是模拟负载均衡器。在 "load balancer/egress" 之外,它的行为仍然与生产环境中一样——即 Kubernes 为服务分配了一个节点端口。您 curl localhost:32455,您可能会得到与 curl localhost:9999 相同的响应。