k8s istio 网关未分配外部 IP 地址

问题描述 投票:0回答:1

我有一个用于学习 k8s 的小型家庭实验室。它只是一台带有 proxmox 的备用计算机。我有 1 个控制节点和 2 个工作节点,全部运行 ubuntu 22.04 和 k8s 1.28(完整的 k8s 不是小占用版本之一)。我想安装网关服务,并且正在尝试 istio。我正在按照here的示例进行操作。

创建网关时(kubectl apply -f Samples/bookinfo/gateway-api/bookinfo-gateway.yaml),它还将创建一个 LoadBalancer 类型的服务,但外部 ip 仍处于待处理状态。

enter image description here

我尝试使用静态 IP 地址添加地址,该地址是我的路由器上的有效地址 (10.0.0.*)。

enter image description here

我的网络中没有物理负载均衡器设备 - 我只想要一些可以访问 istio 网关的外部 IP 地址。如何让 istio 分配我指定的外部 IP 地址,以便我可以从网络上的其他计算机访问它?

kubernetes istio
1个回答
0
投票

我找不到所谓的干净解决方案,但我确实找到了解决方法。运行 kubectl apply -f Samples/bookinfo/gateway-api/bookinfo-gateway.yaml istio 生成 LoadBalancer 服务。他们似乎假设您正在某个云提供商上运行,该云提供商会自动设置负载均衡器 IP 地址。所以我只是用我的网络中的 IP 地址手动更新 istio 生成的服务。

kubectl patch svc bookinfo-gateway-istio -p '{"spec":{"externalIPs":["10.0.0.187"]}}'

现在我可以使用 http://10.0.0.187/productpage

从集群外部访问演示应用程序

我正在使用我的控制平面的IP,这似乎是错误的,但目前已经足够了。我不认为从控制平面运行负载均衡器是一个好的做法。我可能会尝试在不同的节点上安装 LVS 以模拟更真实的生产配置。

© www.soinside.com 2019 - 2024. All rights reserved.