我创建了四个服务,两个ClusterIP和两个NodePort服务。针对每种服务,我如下图所示旋转了两个容器。
但是,问题是某些服务可以正常工作,而某些在容器内部调用时却无法解析服务主机名。
在缩小问题范围的同时,我创建了一个下方矩阵:-
TYPES NodePort ClusterIp
NodePort Pass Fail
ClusterIp Pass Fail
这说明:-
- 从聚合服务(nodePort)的容器内部发出的请求(curl –v http://order-service-ip/swagger/index.html)失败并抛出 无法解决主机名错误,但反之亦然。那是打击 来自的请求(curl –v http://aggregator-service/swagger/index.html) 在order-service-ip工作容器中。
- 以相同的方式,可以从另一个nodeport容器调用nodeport服务。
- 但是,从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
谢谢
答案 0 :(得分:0)
问题出在具有端口冲突的代码中。用于从Nodeport重定向到ClusterIp的那个是不正确的。