当前位置: 首页 > 知识库问答 >
问题:

无法从kubernetes主节点访问服务

姬安志
2023-03-14
[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

共有1个答案

袁博
2023-03-14

我也面临着同样的问题,所以这就是我所做的,并且奏效了:

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

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

 类似资料:
  • 我正在尝试在minikube(Windows-10)上部署简单的spring boot REST服务。下面是我的配置 Docker文件 docker image运行良好,我能够运行该应用程序。 部署 服务 我无法使用< code > service-IP:node port/Uri < br > http://127 . 0 . 0 . 1:30008/hello访问restendpoint ht

  • 我正在尝试使用入口公开部署,其中DeamonSet具有hostNetwork=true,这将允许我跳过额外的负载平衡器层,并直接在Kubernetes外部节点IP上公开我的服务。很遗憾,我无法从外部网络访问入口控制器。 我在GCP上运行库伯内特斯版本1.11.16-gke.2。 我将刷新群集设置为: 我运行部署: 然后我创建服务: 和入口资源: 我获取节点外部IP: 检查入口是否正在运行: 然后尝

  • 名称:示例-服务 命名空间:默认 标签:run=load-balancer-example 注释: 选择器:run=load-balancer-example 类型:nodeport IP:10.108.214.162 端口:9090/tcp 目标端口:9090/tcp 节点端口:31105/tcp endpoint:192.168.1.23:9090,192.168.1.24:9090 会话关联

  • 问题内容: 我正在使用Jenkins Build Flow插件来实现并行化。Groovy DSL执行某些文件操作。即使该选项设置为在特定从属服务器上运行作业,但DSL仍在主服务器上运行。这不是故意的。 有人可以告诉我如何限制DSL在指定的从站上运行吗?即使有一种方法可以通过DSL访问从文件系统,也应该可以。 通常,我们如何使用Groovy从Jenkins主节点访问节点从节点上的文件? 工作空间位于

  • 我在威睿vSphere私有云上裸机部署了库伯内特斯集群。 规格: 操作系统:Ubuntu 20.04.3云映像(也尝试18.04和21.04) 库伯内特斯:1.23.1(也尝试1.21.8)-使用kubeadm和库贝-agent(具有严格的ARP和ipvs模式) CRI:Docker 20.10.12 MetalLB v0.11.0(第2层模式) 纤毛1.11.1 子网192.168.50.0/2

  • 我已经用Calico CNI构建了新Kubernetes集群单主机和单节点。 我在默认名称空间中部署了POD。 nslookup不工作 DNS pod日志 服务已定义 已启用日志记录,但未看到通信到达DNS pod “