0

有一个非常简单的设置。

  1. 前端应用
  2. 后端应用

两者都已在 EKS 上部署为 NodePort 服务。我现在正在尝试在其上创建 AppMesh。如果您创建具有相同名称的虚拟服务(如果服务是前端应用程序和后端应用程序),则一切正常。但是如果我尝试将虚拟服务更改为其他名称,我可以在我的应用程序中通过 http 访问该服务。

EKS 基础设施:

Service 
name : frontend-app
type : NodePort

Service 
name : backend-app
type : NodePort

VirtualNode
name : frontend-app-virtual-node
backend service : backend-app

VirtualNode
name : backend-app-virtual-node

VirtualService
name : frontend-app

VirtualService
name : backend-app

这个设置工作得很好,我可以从前端应用程序调用 http://backend-app。然后我尝试更改服务名称。

服务名称:前端应用程序类型:NodePort

Service 
name : backend-app
type : NodePort

VirtualNode
name : frontend-app-virtual-node
backend service : backend-app-vs

VirtualNode
name : backend-app-virtual-node

VirtualService
name : frontend-app-vs

VirtualService
name : backend-app-vs

问题发生了。当我尝试kubectl exec进入frontend-apppod 和 wgetbackend-app-vs时,它返回wget: bad address 'backend-app-vs',看起来它无法解析地址。

有人知道发生了什么吗?

4

0 回答 0