【问题标题】:How to make a pod accessible from outide with a Load Balancer (or directly)?如何使用负载均衡器(或直接)从外部访问 pod?
【发布时间】:2020-11-27 02:04:15
【问题描述】:

这是我尝试对 Kubernetes 配置文件执行的操作:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: selenium-hub
  labels:
    app: selenium-hub
spec:
  replicas: 1
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: selenium-hub
  template:
    metadata:
      labels:
        app: selenium-hub
    spec:
      containers:
      - name: selenium-hub
        image: selenium/hub
        ports:
          - containerPort: 4444
        resources:
          limits:
            memory: "1000Mi"
            cpu: ".5"
        livenessProbe:
          httpGet:
            path: /wd/hub/status
            port: 4444
          initialDelaySeconds: 30
          timeoutSeconds: 5
        readinessProbe:
          httpGet:
            path: /wd/hub/status
            port: 4444
          initialDelaySeconds: 30
          timeoutSeconds: 5
---
apiVersion: v1
kind: Service
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  externalTrafficPolicy: Local
  ports:
  - name: http
    port: 4444
    protocol: TCP
    targetPort: 4444
  selector:
    app: selenium-hub
  type: LoadBalancer

在 GKE 中,它创建一个带有 pod 的应用,然后是一个带有外部 IP 的负载均衡器。但是当我尝试通过http://LBIP:port 从外部访问该应用程序时,它不起作用。

那么我如何才能公开我首先创建的 pod?如果我只使用一个副本,是否需要 LB?

【问题讨论】:

  • 请在您的代码前后添加```(三个反引号),以便保留缩进。另外请在问题描述而不是标题中分享您的代码。所有这些都将使我们更容易对其进行故障排除。

标签: kubernetes load google-kubernetes-engine


【解决方案1】:

嗯……嗯……你会笑的!在我这边,我没有笑……

这是一个网络问题。不知道为什么,但我的家庭 IP 地址似乎被列入黑名单,无法访问 GCP 上的任何实例。控制台没有问题,但是当尝试通过我的浏览器访问 http 时,它根本无法连接。

使用 nordvpn 有效!到目前为止一切顺利。

无论如何感谢你的帮助!

【讨论】:

    【解决方案2】:

    查看规格,我没有发现任何问题。检查几件事 -

    1. 您的 pod 是否处于运行状态并暴露了 4444 端口?
    2. 您可以使用 ClusterIP:port 在本地访问您的 pod 吗?

    您也可以使用 NodePort 服务公开您的 pod,但在生产中 NodePort 服务不是将应用公开到外部集群的推荐方式。

    【讨论】:

    • 你好,首先谢谢你,我很感激你想帮助我。为了回答您的问题,我使用以下方法对 POD 进行了端口转发: - kubectl port-forward $PODNAME 4444:4444 - 是的,如果在主设备上的单独终端中执行此操作: curl localhost:4444 它可以工作!但是如果我尝试通过 curl ClusterIP:4444 如果冻结...我的意思是无论如何我都无法通过 LB 端点访问外部......即使端口转发被激活所以......我迷路了哈哈
    • 顺便提一下:如果我创建一个 NodePort 和一个入口,它可以工作,但这不是我想要的......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2021-02-21
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    相关资源
    最近更新 更多