我尝试发送请求192.168.49.2:31083,但没有成功。我正在使用Kubernetes和Docker。
kubectl expose deployment k8s-web-hello --port=3000 --type=NodePort
kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
k8s-web-hello NodePort 10.109.32.222 <none> 3000:31083/TCP 9m54s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 7d
minikube ip
192.168.49.2
字符串
我该怎么补救?
编辑:
minikube service k8s-web-hello
|-----------|---------------|-------------|---------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|---------------|-------------|---------------------------|
| default | k8s-web-hello | 3000 | http://192.168.49.2:31083 |
|-----------|---------------|-------------|---------------------------|
🏃 Starting tunnel for service k8s-web-hello.
|-----------|---------------|-------------|------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|---------------|-------------|------------------------|
| default | k8s-web-hello | | http://127.0.0.1:45767 |
|-----------|---------------|-------------|------------------------|
🎉 Opening service default/k8s-web-hello in default browser...
❗ Because you are using a Docker driver on linux, the terminal needs to be open to run it.
Opening in existing browser session.
型
我不明白为什么我不能通过第一个URL访问Minikube虚拟机的IP地址,但第二个URL与本地IP可以?
1条答案
按热度按时间j2datikz1#
参考这个官方文档,根据这个,你需要在yaml中使用“type:NodePort”来指定一个NodePort值,你只需要用这个nodeport值来做curl。
下面是示例:
字符串
请注意,当您使用minikube IP时,您需要通过隧道进入Minikube进行访问。
我能知道你是如何发送请求的,无论是通过 curl 或浏览与HTTP?你能分享你的yaml也可以很容易回答。