Docker 无法从kubernetes主节点访问服务

Docker 无法从kubernetes主节点访问服务,docker,kubernetes,kubernetes-service,project-calico,Docker,Kubernetes,Kubernetes Service,Project Calico,工作节点1上的Curl对于群集IP成功(这是pod正在运行的节点) Curl在其他工作节点上也失败: [root@kubemaster ~]# ssh kubeworker1 curl -m 2 -v -s http://10.101.174.159:80 Hello, world! Version: 1.0.0 Hostname: pod1deployment-c8b9c74cb-hkxmq 首先,您应该始终使用服务DNS而不是群集/动态IP来访问部署的应用程序。服务DNS将是.svc.cl

工作节点1上的Curl对于群集IP成功(这是pod正在运行的节点)

Curl在其他工作节点上也失败:

[root@kubemaster ~]# ssh kubeworker1 curl -m 2 -v -s http://10.101.174.159:80
Hello, world!
Version: 1.0.0
Hostname: pod1deployment-c8b9c74cb-hkxmq

首先,您应该始终使用服务DNS而不是群集/动态IP来访问部署的应用程序。服务DNS将是.svc.cluster.local,cluster.local是默认的Kubernetes群集名称,如果没有其他更改的话

现在谈到服务可访问性,可能是DNS问题。您可以做的是尝试检查kube系统命名空间中的kube dnspod日志。另外,试着从一个独立的吊舱中卷曲。如果这样行的话

kubectl运行——发电机=运行吊舱/v1堡垒——图像=总线箱

kubectl exec-it堡垒bash

curl-vvvpod1service.default.svc.cluster.local


如果不是的话,进一步的问题是,集群在哪里,它是如何创建的?

我面临着同样的问题,所以这就是我所做的,它起了作用:

简介:我正在为一个2节点集群运行2个虚拟机。1个主节点和1个工作节点。工作节点上正在运行部署。我想从主节点卷曲,这样我就可以从运行在工作节点上的pod中的应用程序获得响应。为此,我在worker节点上部署了一个服务,然后在集群中公开这些pod集

问题:在部署服务并执行
Kubectl get service
之后,它为我提供了该服务的
ClusterIP
和一个端口(顺便说一句,我在编写service.yaml时使用了
NodePort
而不是Cluster IP)。但当卷曲在IP地址和端口上时,它只是挂起,然后经过一段时间的超时


解决方案:然后我尝试查看层次结构。首先,我需要联系服务所在的节点,然后联系节点端口提供的端口(即30000-32767之间的端口),因此首先我做了
Kubectl get nodes-o wide
以获取所需节点的内部IP地址(我的是10.0.1.4),然后我做了
Kubectl get service-o wide
以获取端口(30000-32767之间的一个)并将其卷曲。因此,我的curl命令是->
curlhttp://10.0.1.4:30669
我能够得到输出。

你能试试curl-m2-v-s吗http://pod1service.default.svc从主节点?如果您正试图从集群外部获得服务(即使是从您的一个节点的控制台),NodePort服务是否能更好地满足您的需求[root@kubemaster~]#curl-m2-v*无法解析主机:pod1service.default.svc;未知错误*正在关闭连接0David,是的,这是真的..但我们在设置中遇到的实际问题是“无法从群集中的访问群集ip”David,请为我澄清这个疑问..serviceip:端口应该从POD内部还是从k8节点访问?
[root@kubemaster ~]# curl -m 2 -v -s http://10.101.174.159:80
* About to connect() to 10.101.174.159 port 80 (#0)
*   Trying 10.101.174.159...
* Connection timed out after 2001 milliseconds
* Closing connection 0
[root@kubemaster ~]# ssh kubeworker1 curl -m 2 -v -s http://10.101.174.159:80
Hello, world!
Version: 1.0.0
Hostname: pod1deployment-c8b9c74cb-hkxmq
[root@kubemaster ~]# ssh kubeworker2 curl -m 2 -v -s http://10.101.174.159:80
* About to connect() to 10.101.174.159 port 80 (#0)
*   Trying 10.101.174.159...
* Connection timed out after 2001 milliseconds
* Closing connection 0