【问题标题】:Unable to access StreamSets through URL on K8s无法通过 K8s 上的 URL 访问 StreamSet
【发布时间】:2020-08-14 23:09:39
【问题描述】:

我正在使用 ansible 脚本在 k8s 主节点上部署流集。我正在检查流集仪表板是否可以通过 http://127.0.0.1:{{streamsets_nodePort}} 其中streamsets_nodePort: 30029 访问。默认端口是30024,是分配给其他服务的,所以我改了端口。

服务已启动,Pod 正在运行。

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

service/streamsets-service NodePort 10.104.162.67 <none> 18630:30029/TCP 24m

什么时候可以看到我可以看到的日志, Running on URI : 'http://streamsets-0.streamsets-service.streamsets-ns.svc.cluster.local:18630' 2020-04-30 13:45:58,149 [user:] [pipeline:] [runner:] [thread:main] [stage:] INFO WebServerTask -Running on URI : 'http://streamsets-0.streamsets-service.streamsets-ns.svc.cluster.local:18630'

下面是我的service.yml

apiVersion: v1 kind: Service metadata: name: streamsets-service labels: name: streamsets spec: type: NodePort ports: - port: {{streamsets_port}} targetPort: 18630 nodePort: {{streamsets_nodePort}} selector: role: streamsets

这些是分配的端口详细信息:

streamsets_port: 8630

streamsets_nodePort: 30029

streamsets_targetPort: 18630

在我的游戏中,当我执行下面的块时

`- name: Check if Streamsets is accessible.`
  `uri:`
    `url: http://localhost:{{streamsets_nodePort}}`
    `method: GET`
    `status_code: 200`
  `register: streamsets_url_status`

- debug:`
    `var: streamsets_url_status.msg`

执行此块时得到的输出 -

fatal: [127.0.0.1]: FAILED! => {"changed": false, "content": "", "elapsed": 30, "msg": "Status code was -1 and not [200]: Connection failure: timed out", "redirected": false, "status": -1, "url": "http://localhost:30029"}

谁能帮我理解问题出在哪里?

【问题讨论】:

  • 有什么帮助吗?请

标签: kubernetes streamsets service-node-port-range


【解决方案1】:

也许我的理解不正确,但是为什么服务会在127.0.0.1 的本地主机 IP 上响应?

您正在创建一个 NodePort 映射,它会自动创建一个 ClusterIP - 您可以在您的服务列表中看到:10.104.162.67 该 IP 应用于访问您已向服务公开其端口的应用程序,并结合您制定的“端口”规范(在本例中为 8630)。

或者,如果您想直接访问您创建的 NodePort,那么您将点击运行 pod 的节点的直接内部 IP。执行 kubectl get nodes -o wide 并记下您感兴趣的节点的内部 IP 地址,然后结合您为服务指定的 nodePort(在本例中为 30029)对该 IP 地址进行调用。

根据您通过 SSH 执行/执行到的层(pod、节点、容器等),127.0.0.1 的分辨率可能完全不同 - 您执行到的容器不会t 将 127.0.0.1 解析为正在运行的主机的地址,而是解析为正在运行的 pod。

【讨论】:

  • NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE streamsets-service NodePort 10.109.8.153 <none> 18630:30029/TCP 33h
  • 即使我尝试使用节点端口卷曲内部 IP 它显示连接超时。
猜你喜欢
  • 2019-07-11
  • 2018-02-26
  • 2020-05-30
  • 2021-03-21
  • 1970-01-01
  • 1970-01-01
  • 2020-01-05
  • 2021-07-01
  • 1970-01-01
相关资源
最近更新 更多