无法从另一台机器访问 kubernetes 服务

无法从另一台机器访问 kubernetes 服务

我的目标是从集群外部的机器(另一台机器)访问部署在我的机器(集群)上的某个 kubernetes 服务。我使用“Ingress”对象公开这些服务。我有一个单节点 kubernetes 集群,我在该集群上安装了 nginx-ingress 控制器,该集群的外部 IP 由 Metal-LB 负载均衡器分配。

NAME         TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)          AGE

kubernetes   ClusterIP      10.96.0.1      <none>          443/TCP          2d
nginx        LoadBalancer   10.105.168.2   192.168.1.240   8080:32622/TCP   46h

我能够使用这样生成的外部 IP 访问我机器上的负载均衡器。但无法使用外部 IP 从集群(机器)外部的另一台机器访问它。在另一台机器上使用外部 IP 会导致连接超时错误。

通过 kubectl apply -f 安装 nginx ingress-controllerhttps://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.22.0/deploy/mandatory.yaml并公开为负载均衡器类型。

metallb 的配置如下:

    apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - 192.168.1.240/28

PS:两台机器都在同一个网络上。

相关内容