我在家庭网络上的树莓派集群上使用kubernetes。我已经安装了metallb作为负载均衡器。
我的应用程序有一个简单的端点,该端点返回单词“ root”。在根端点上调用时。每当我从集群内部调用LoadBalancer Ingress时,此方法就起作用。
curl 192.168.1.150
root.
负载平衡器服务:
$ kubectl get services -n goprom -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
goprom-lb LoadBalancer 10.110.156.125 192.168.1.150 80:31531/TCP 80s app=goprom
$ kubectl describe service -n goprom
Name: goprom-lb
Namespace: goprom
Labels: <none>
Annotations: <none>
Selector: app=goprom
Type: LoadBalancer
IP: 10.110.156.125
LoadBalancer Ingress: 192.168.1.150
Port: <unset> 80/TCP
TargetPort: 3333/TCP
NodePort: <unset> 31531/TCP
Endpoints: 10.244.1.26:3333,10.244.2.21:3333,10.244.2.22:3333
Session Affinity: None
External Traffic Policy: Cluster
由于该服务正在获取外部IP,因此负载平衡器似乎正在运行。但是,当我将笔记本电脑上的外部IP卷曲在同一网络上时,它无法连接:
$ curl 192.168.1.150
curl: (7) Failed to connect to 192.168.1.150 port 80: No route to host