Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t暴露本地Kubernetes群集上的端口(通过Docker桌面)_Docker_Kubernetes - Fatal编程技术网

Can';t暴露本地Kubernetes群集上的端口(通过Docker桌面)

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

我正在使用Windows 10上Docker桌面上的本地Kubernetes群集。没有虚拟机,没有迷你们电脑

我需要在本地主机上为某些服务公开一个端口

例如,我使用官方教程中的kubernetes训练营图像:

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集群的工作方式不恰当的问题

我如何解决问题:

  • 删除C:\ProgramData\DockerDesktop\pki
  • 重新创建所有吊舱、服务和部署

  • 现在,我以前使用的同一个脚本工作得很好。

    因此我发现了问题根本地Kubernetes集群的工作方式不合适

    我如何解决问题:

  • 删除C:\ProgramData\DockerDesktop\pki
  • 重新创建所有吊舱、服务和部署

  • 现在,我以前使用的同一个脚本非常有效。

    您不能直接公开pod,尽管它允许,因为他正在部署它并将其作为服务公开。运行kitematic并检查您的操作暴露端口和IP。您不能直接暴露pod,尽管它允许,因为他正在部署它并将其作为服务公开。运行kitematic并检查您的操作暴露端口和IP。