我有一个包含 3 个主服务器和 7 个工作服务器的 k8s 集群。集群上有许多服务,我想公开其中一些。我使用 Metallb 来完成这项任务,通过第 2 层配置,我可以从 IP 池中获取 IP 并分配给服务。但我无法在集群外访问这些 IP。这是我的配置:
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: first-pool
namespace: metallb-system
spec:
addresses:
- 192.168.36.0/24
- 192.168.9.1-192.168.9.5
- fc00:f853:0ccd:e799::/124
广告内容如下:
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: example
namespace: metallb-system
spec:
ipAddressPools:
- first-pool
例如,我想从本地网络(但在集群之外)的机器访问 192.168.36.5,这是用于 nginx 服务的。请注意,可以从集群访问 Metallb 分配 IP 地址的服务。