【问题标题】:Kubernetes Official Tutorial: The web page at http://localhost:6000/ might be temporarily down or it may have moved permanently to a new web addressKubernetes 官方教程:http://localhost:6000/ 的网页可能暂时关闭或永久移动到新的网址
【发布时间】:2020-11-12 19:59:08
【问题描述】:

我正在尝试在本地机器上完成本教程https://kubernetes.io/blog/2019/07/23/get-started-with-kubernetes-using-python/

我已完成所有步骤:

app git:(master) ✗  kubectl get pods

NAME                            READY   STATUS    RESTARTS   AGE
hello-python-6c7b478cf5-49vdg   1/1     Running   0          2m53s
hello-python-6c7b478cf5-d4tfl   1/1     Running   0          2m53s
hello-python-6c7b478cf5-ltb8r   1/1     Running   0          2m53s
hello-python-6c7b478cf5-qsqvt   1/1     Running   0          2m53s
 app git:(master) ✗

但是当我转到localhost:6000 时出现错误:

无法访问此站点。 http://localhost:6000/ 的网页可能暂时关闭,或者它可能已永久移动到新的网址。 ERR_UNSAFE_PORT

当我执行 lsof -i tcp:6000 我得到这个:


COMMAND     PID        USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
com.docke 98546     <me>   76u  IPv6 0xc52e947a7a450f69      0t0  TCP *:6000 (LISTEN)

这是教程中的错误,还是我做错了什么?

【问题讨论】:

  • 我假设您将 docker 用于桌面,我检查了它是否有效,实际上它没有。我不知道为什么,但是桌面的 docker 上的这个端口上有东西在监听,所以这里的快速解决方法是将你的服务的 portport: 6000 更改为例如 port: 8000,如果你将它更改为8000 然后改用localhost:8000,它应该可以工作。你能检查一下,让我知道这对你有用吗?
  • 端口 6000 为安全起见被 chrome 屏蔽了——它是 X11 端口,我认为 Chrome 正在尝试防止某些类型的 XSS 攻击。 chromium.googlesource.com/chromium/src.git/+/refs/heads/master/…。您可以通过将标志传递给 chrome - superuser.com/questions/188006/… 来禁用此保护

标签: python kubernetes


【解决方案1】:

Docker 桌面

我检查了它是否有效,我有同样的问题。

编辑

正如 cmets 中提到的@Boris the Spider

为了安全起见,端口 6000 是 blocked by chrome - 它是 X11 端口,我认为 Chrome 正在尝试防止某些类型的 XSS 攻击。您可以通过将标志传递给 chrome 来disable 这种保护。

如果您不想更改 chrome 设置,请更改服务的端口。例如从 6000 到 8000。

apiVersion: v1
kind: Service
metadata:
  name: hello-python-service
spec:
  selector:
    app: hello-python
  ports:
  - protocol: "TCP"
    port: 8000   <---
    targetPort: 5000
  type: LoadBalancer

如果您将其更改为 8000,请改用 localhost:8000 即可。


Minikube

Minikube 不支持 LB 外部 IP。

在支持负载平衡器的云提供商上,将配置一个外部 IP 地址来访问服务。在 minikube 上,LoadBalancer 类型使 Service 可以通过 minikube service 命令访问。

因此,如果您使用 minikube,请尝试使用 minikube service

有相关documentation的例子。

【讨论】:

  • @BoristheSpider 感谢您的纠正。用您的评论更新了答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-03
  • 2011-02-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-06
  • 1970-01-01
相关资源
最近更新 更多