我使用kind在debian 9机器上创建了一个kubernetes集群。
显然可以,因为我可以使用有效的输出运行kubectl cluster-info
。
现在,我想闲逛Learn Kubernetes Basics网站上的教程。
我已经部署了应用程序
kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1
并启动kubectl proxy
。
kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
kubernetes-bootcamp 1/1 1 1 17m
我现在的问题是:当我尝试使用curl
查看应用程序的输出时,我得到了
尝试访问服务时出错:“拨号TCP 10.244.0.5:80:连接:连接被拒绝”
我的命令
export POD_NAME=$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}')
curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME/proxy/
为了完整起见,我可以运行curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME/
并获得有效的输出。
答案 0 :(得分:2)
本教程模块中的步骤代表了环境,就像您在集群节点之一上工作一样。
该命令尝试检查节点上本地服务的连接性。
但是,在您的情况下,通过在docker(种类)集群中运行kubernetes,最有可能从提供了kubernetes的docker容器的主机上执行curl命令。
可能可以使用docker exec
进入kind节点并尝试从那里运行curl命令。
希望这会有所帮助。
答案 1 :(得分:1)
我还按照种类使用本教程,并完成了转发端口的工作:
kubectl port-forward $POD_NAME 8001:8001
答案 2 :(得分:0)
尝试在 $POD_NAME
后添加 :8080 curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME:8080/proxy/