【发布时间】:2020-09-02 15:00:53
【问题描述】:
[root@kubemaster ~]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
pod1deployment-c8b9c74cb-hkxmq 1/1 Running 0 12s 192.168.90.1 kubeworker1 <none> <none>
[root@kubemaster ~]# kubectl logs pod1deployment-c8b9c74cb-hkxmq
2020/05/16 23:29:56 Server listening on port 8080
[root@kubemaster ~]# kubectl get service -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 13m <none>
pod1service ClusterIP 10.101.174.159 <none> 80/TCP 16s creator=sai
主节点上的卷曲:
[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
工作节点 1 上的 Curl 成功获取集群 IP(这是运行 pod 的节点)
[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
Curl 在其他工作节点上也失败:
[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
【问题讨论】:
-
你能从主节点尝试
curl -m 2 -v -s http://pod1service.default.svc吗? -
如果您尝试从集群外部(甚至从您的一个节点的控制台)访问服务,NodePort 服务会更好地满足您的需求吗?
-
[root@kubemaster ~]# curl -m 2 -v pod1service.default.svc * 无法解析主机:pod1service.default.svc;未知错误 * 正在关闭连接 0
-
大卫,是的,这是真的.. 但我们在设置中遇到的实际问题是“无法从集群中访问集群 ip”
-
大卫,请为我澄清这个疑问.. serviceip:port 应该可以从 pod 内部访问还是从 k8 节点访问?
标签: docker kubernetes kubernetes-service project-calico