有一个非常简单的设置。
- 前端应用
- 后端应用
两者都已在 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-app
pod 和 wgetbackend-app-vs
时,它返回wget: bad address 'backend-app-vs'
,看起来它无法解析地址。
有人知道发生了什么吗?