我无法访问 MetalLB 负载均衡器分配的公共 IP
我在 Contabo 中创建了一个 Kubernetes 集群。它的1个主人和2个工人。每个人都有自己的公共 IP。
我用 kubeadm + flannel 做到了。后来我确实安装了 MetalLB 来使用负载平衡。
我使用这个清单来安装 nginx:
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1
ports:
- name: http
containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancer
它有效,豆荚正在运行。我在之后看到了外部 IP 地址:
kubectl get services
从每个节点/主机我可以curl到那个ip和端口,我可以得到nginx的:
<h1>Welcome to nginx!</h1>
到目前为止,一切都很好。但:
我仍然想念的是从我的计算机访问该服务(nginx)。我可以尝试通过 IP:PORT 访问每个节点(主节点 + 2 个从节点),但没有任何反应。最终目标是拥有一个可以访问该服务的域,但我猜不出我应该使用女巫 IP。
我错过了什么?
MetalLB 是否应该公开我的 3 个可能的 IP?我应该在每台服务器上添加其他东西作为反向代理吗?
我在这里问这个问题是因为所有关于裸机/VPS(非 aws、GKE 等)的文章/教程都在本地主机上的 kube 上执行此操作而错过了这个基本问题。
谢谢。