首页 > 解决方案 > Kubernetes | AWS-EKS | 无法解析主机名

问题描述

我创建了四个服务,两个 ClusterIP 和两个 NodePort 服务。针对每项服务,我启动了两个容器,如下所示。

但是,问题是某些服务工作正常,而有些服务在从容器内部调用时无法解析服务主机名。

在缩小问题范围的同时,我创建了以下矩阵:-

TYPES   NodePort    ClusterIp
NodePort    Pass    Fail
ClusterIp   Pass    Fail

这解释了:-

  1. 来自 aggregator-service(nodePort) 容器内部的请求(curl -v http://order-service-ip/swagger/index.html)失败并抛出无法解析主机名错误,但反之亦然。那是从 order-service-ip 工作的容器内部发出请求(curl -v http://aggregator-service/swagger/index.html)。
  2. 同样,从另一个 nodeport 容器调用 nodeport 服务也可以。
  3. 但是,从 ClusterIp 容器调用 clusterIP 服务失败并且无法解析主机名。

令人惊讶的是,集群 IP 容器能够解析 Nodeport 服务的主机名,并且从同一个 nodePort 容器返回到同一个 ClusterIp 服务是行不通的。

任何建议表示赞赏。我被这个问题困扰了四天多。

这是 pod 和服务的详细信息,端点也可以正常工作。

NAME                                           ........                     READY   STATUS    
nodeport-aggegator-deployment-64497699d-6jqz4       1/1     Running      
nodeport-aggegator-deployment-64497699d-jx8n6       1/1     Running   
clusterip-order-deployment-ip-594ff6b59b-pb4bp          1/1     Running   
clusterip-order-deployment-ip-594ff6b59b-rbhj4            1/1     Running  
nodeport-resources-deployment-6b98d47b5b-qvd59      1/1     Running  
nodeport-resources-deployment-6b98d47b5b-zjrh7        1/1     Running  
clusterip-product-deployment-ip-7589c74bfc-dx8l4         1/1     Running  
clusterip-product-deployment-ip-7589c74bfc-mbqs5       1/1     Running  


NAME                              TYPE           CLUSTER-IP       EXTERNAL-IP         PORT(S)                        
aggregator-service           NodePort       10.100.66.74     <none>             8081:30392/TCP,443:30891/TCP   
order-service-ip               ClusterIP      10.100.118.19     <none>             8010/TCP,443/TCP               
resources-service             NodePort       10.100.81.65     <none>             8001:31076/TCP,443:30429/TCP   
product-service-ip            ClusterIP      10.100.66.14      <none>             8011/TCP,443/TCP               
kubernetes                      ClusterIP      10.100.0.1          <none>             443/TCP                        

谢谢

标签: kuberneteskubernetes-podamazon-eks

解决方案


问题出在有端口冲突的代码中。用于从 Nodeport 重定向到 ClusterIp 的那个不正确。


推荐阅读