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访问您的计算机:。