Angular应用程序未连接到kubernetes集群内的Node后端应用程序



我有一个在kubernetes集群内运行的后端Node应用程序(本地使用minikube(。后端服务配置如下:

apiVersion: v1
kind: Service
metadata:
name: flow-backend-service
spec:
selector:
app: flow-backend
type: NodePort
ports:
- port: 5000
targetPort: 5000
nodePort: 30500

kubectl获取以下行的svc输出:

flow-backend-service     NodePort    10.110.143.69    <none>        5000:30500/TCP   45h

在同一个集群中,我有一个角度应用程序,它被用来从这个后端应用程序获取数据。后端的url如下:

backendUrl: "http://flow-backend-service.default.svc.cluster.local:5000"

然而,当我运行角度应用程序时,我会得到以下响应

Http failure response for http://flow-backend-service.default.svc.cluster.local:5000/companies: 0 Unknown Error

一个重要的注意事项是,如果我在角吊舱内执行此操作:

curl http://flow-backend-service.default.svc.cluster.local:5000/companies

我得到了恰当的回应。

知道我该如何调试这个问题吗?

angular应用程序在用户浏览器中运行,该dns地址仅在K8s集群中解析。您需要为承载k8s集群的计算机设置dns地址。或者使用托管k8s集群的其中一台机器的IP地址。

这不是一个生产稳定的设置,我建议使用入口控制器和某种与K8集成的动态DNS解析器,例如consus。

免责声明:我和领事没有任何关系,这只是我最熟悉的一个。

最新更新