在下面的代码中,哪个 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
这在创建外部负载均衡器部分查找您的 IP 地址中得到了很好的解释 .
您可以通过以下方式获取服务信息,找到为服务创建的 IP 地址
kubectl
: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
旁边。
更新:
在对象规范和状态中进行了说明:
每个 Kubernetes 对象都包含两个嵌套对象字段,用于控制对象的配置:对象规范和对象状态。您必须提供的规范描述了对象所需的状态,即您希望对象具有的特征。状态描述了对象的实际状态,由 Kubernetes 系统提供和更新。在任何给定时间,Kubernetes 控制平面都会主动管理对象的实际状态,以匹配您提供的所需状态。