在以下代码中,哪个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
答案 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控制平面都会主动管理对象的实际状态以匹配您提供的所需状态。 `