Docker 如何从其他计算机连接到minikube暴露节点端口
我试图将运行在Docker 如何从其他计算机连接到minikube暴露节点端口,docker,kubernetes,yaml,kubernetes-ingress,Docker,Kubernetes,Yaml,Kubernetes Ingress,我试图将运行在minikube上的一个应用程序公开给外界。我已经使用了一个节点端口,我可以使用web浏览器在同一台hist机器中访问该应用程序 但是我需要将这个应用程序公开给我的一个朋友,他住在很远的地方,这样他也可以在他的浏览器中看到它 这就是我的deployment.yaml文件的外观,我应该使用入口还是可以使用ingres apiVersion: apps/v1 kind: Deployment metadata: name: node-web-app spec: re
minikube
上的一个应用程序公开给外界。我已经使用了一个节点端口
,我可以使用web浏览器在同一台hist机器中访问该应用程序
但是我需要将这个应用程序公开给我的一个朋友,他住在很远的地方,这样他也可以在他的浏览器中看到它
这就是我的deployment.yaml
文件的外观,我应该使用入口还是可以使用ingres
apiVersion: apps/v1
kind: Deployment
metadata:
name: node-web-app
spec:
replicas: 2
selector:
matchLabels:
name: node-web-app
template:
metadata:
labels:
# you can specify any labels you want here
name: node-web-app
spec:
containers:
- name: node-web-app
# image must be the same as you built before (name:tag)
image: banuka/node-web-app
ports:
- name: http
containerPort: 8080
protocol: TCP
imagePullPolicy: Never
terminationGracePeriodSeconds: 60
如何将运行
nodejs
服务器的此部署公开给外部世界?通常不能。仅为主机设置网络。您可能会使用ngrok或其他什么?您可以使用ngrok
。比如说
ngrok http 8000
这将生成可轻松访问的url。这是一个商业工具,不是开源的,所以这基本上是广告。我很确定我真的不喜欢。这在某种程度上是免费的工具,在这种情况下完全可用。不,这绝对是一个商业工具,基于一个免费的模型,有一个非常有限的“免费”层。解决此问题的标准方法是使用ssh(创建ssh隧道),这是大多数操作系统中普遍使用的免费工具。不过,我一直对学习经验持开放态度,所以如果你不介意扩展@tefozi,我想知道它是如何不商业化的?如果这只是一件事,出于测试目的,ngrok将做好自己的工作。当有一个非常好的免费开放解决方案更为普遍时,这与在堆栈溢出上宣传商业工具有什么关系?这是一个商业工具,不是开源的,所以这基本上是广告。我很确定我不是真的喜欢那个,Ngrok?它过去确实是开源的,我猜在上一次重写中,它使它成为了一个产品?它说v1没有维护,甚至没有工作,在v2中是封闭源代码的。在github页面上,我刚刚检查过:看起来有一些分叉/克隆,但没有任何东西可以直接与托管服务器组件相比。我想事情就是这样。标准是一个强有力的词:)我在这个行业已经有很长时间了,并且一直理解ssh隧道是标准的。这回答了你的问题吗?嘿,我投票决定以重复的方式结束,并链接到另一个问题(已结束)。这不是一个k8s问题,而是关于从internet访问您的计算机:。