Kubernetes:负载均衡器和入口

时间:2019-08-19 13:52:32

标签: kubernetes load-balancing kubernetes-ingress

在以下代码中,哪个URL将公开给kubernetes集群的外部。是78.11.24.19还是146.148.47.155?

我试图在这里了解负载均衡器和入口。

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: MyApp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 9376
  clusterIP: 10.0.171.239
  loadBalancerIP: 78.11.24.19
  type: LoadBalancer
status:
  loadBalancer:
    ingress:
      - ip: 146.148.47.155

1 个答案:

答案 0 :(得分:0)

Create an External Load Balancer部分Finding your IP address 中对此进行了很好的解释。

  

您可以通过kubectl获取服务信息来找到为您的服务创建的IP地址:

kubectl describe services example-service
     

应产生如下输出:

   Name:                   example-service
   Namespace:              default
    Labels:                 <none>
   Annotations:            <none>
   Selector:               app=example
   Type:                   LoadBalancer
   IP:                     10.67.252.103
   LoadBalancer Ingress:   192.0.2.89
   Port:                   <unnamed> 80/TCP
   NodePort:               <unnamed> 32445/TCP
   Endpoints:              10.64.0.4:80,10.64.1.5:80,10.64.2.4:80
   Session Affinity:       None
   Events:                 <none>
     

该IP地址列在LoadBalancer Ingress旁边。

更新:

Object Spec and Status上有解释:

  

每个Kubernetes对象都包含两个嵌套的对象字段,这些字段控制对象的配置:对象规格和对象状态。您必须提供的规范描述了对象的所需状态-您希望对象具有的特征。 状态描述对象的实际状态,并由Kubernetes系统提供和更新。在任何给定时间,Kubernetes控制平面都会主动管理对象的实际状态以匹配您提供的所需状态。 `