Ran*_*sid 1 kubernetes kubectl minikube
我在我的 Mac 上安装了 minikube,并为我的 Nodejs 应用程序创建了部署和服务。我通过使用以下命令获取服务的 URL 来测试一切正常:
minikube service my-nodejs-app --url
Run Code Online (Sandbox Code Playgroud)
然后我在浏览器中运行这个 URL 并得到结果。问题是当我尝试从同一网络内的另一台计算机访问相同的 URL 时,它不起作用。
我的service.yml
文件是:
apiVersion: v1
kind: Service
metadata:
name: my-nodejs-app
spec:
type: NodePort
ports:
- port: 80
targetPort: 1337
protocol: TCP
name: app-server
selector:
app: my-nodejs-app
Run Code Online (Sandbox Code Playgroud)
我尝试使用端口转发将 pod 端口转发到本地主机,它仅在托管集群的同一台机器上工作,并且当我尝试从同一网络上的另一台机器访问时(通过集群所在机器的 IP 地址)已部署)我仍然找不到页面。
您可以使用"port forward a service"
。假设:
166.6.6.6
持有minikube)192.168.99.100
使用命令查看真实IP $minikube ip
)31000
使用命令检查真实的nodePort $kubectl get service
:)为了从远程访问您的服务,您可以在本地计算机中通过以下命令将端口(例如 31000,推荐与 nodePort 相同的端口)转发到您的服务:
ssh -i ~/.minikube/machines/minikube/id_rsa docker@$(minikube ip) -L \*:31000:0.0.0.0:31000
然后您可以通过 URL: 访问您的服务http://166.6.6.6:31000
,该 URL 将会转发到您的服务 URLhttp://192.168.99.100:31000
谢谢: https: //github.com/kubernetes/minikube/issues/877
归档时间: |
|
查看次数: |
4680 次 |
最近记录: |