Can';t暴露本地Kubernetes群集上的端口(通过Docker桌面)
我正在使用Windows 10上Docker桌面上的本地Kubernetes群集。没有虚拟机,没有迷你们电脑 我需要在本地主机上为某些服务公开一个端口 例如,我使用官方教程中的kubernetes训练营图像:Can';t暴露本地Kubernetes群集上的端口(通过Docker桌面),docker,kubernetes,Docker,Kubernetes,我正在使用Windows 10上Docker桌面上的本地Kubernetes群集。没有虚拟机,没有迷你们电脑 我需要在本地主机上为某些服务公开一个端口 例如,我使用官方教程中的kubernetes训练营图像: docker pull jocatalin/kubernetes-bootcamp:v2 将其放入本地注册表: docker tag jocatalin/kubernetes-bootcamp:v2 localhost:5000/kubernetes-bootcamp docker pu
docker pull jocatalin/kubernetes-bootcamp:v2
将其放入本地注册表:
docker tag jocatalin/kubernetes-bootcamp:v2 localhost:5000/kubernetes-bootcamp
docker push localhost:5000/kubernetes-bootcamp
然后使用此映像创建展开:
kubectl create deployment kubernetes-bootcamp --image=localhost:5000/kubernetes-bootcamp
然后,让我们公开一个用于访问部署的端口:
kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080
kubectl get services
kubernetes-bootcamp NodePort 10.102.167.98 <none> 8080:32645/TCP 8s
没有什么是工作
但如果我尝试port forward,一切都正常:
kubectl port-forward deployment/kubernetes-bootcamp 7000:8080
Forwarding from 127.0.0.1:7000 -> 8080
Forwarding from [::1]:7000 -> 8080
Handling connection for 7000
另一个控制台:
curl localhost:7000
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-7b5598d7b5-8qf9j | v=2
我做错了什么?我发现了一些类似我的帖子,但没有一篇对我有帮助。尝试运行this CMD:
kubectl get svc | grep kubernetes-bootcamp
在此之后,使用CMD将pod暴露到您的网络中:
kubectl expose pod (podname) --type=NodePort
之后,您可以使用cmd示例检查URL
minikube 0r kubectl service (service name) --url
尝试运行以下命令:
kubectl get svc | grep kubernetes-bootcamp
在此之后,使用CMD将pod暴露到您的网络中:
kubectl expose pod (podname) --type=NodePort
之后,您可以使用cmd示例检查URL
minikube 0r kubectl service (service name) --url
因此,我发现了根本地Kubernetes集群的工作方式不恰当的问题 我如何解决问题:
现在,我以前使用的同一个脚本工作得很好。因此我发现了问题根本地Kubernetes集群的工作方式不合适 我如何解决问题:
现在,我以前使用的同一个脚本非常有效。您不能直接公开pod,尽管它允许,因为他正在部署它并将其作为服务公开。运行kitematic并检查您的操作暴露端口和IP。您不能直接暴露pod,尽管它允许,因为他正在部署它并将其作为服务公开。运行kitematic并检查您的操作暴露端口和IP。