我已经在 GKE 中部署了 mongo db、Spring Boot BE、Angular 应用程序。我的 FE 服务是一个负载均衡器,它需要与我的 BE 连接才能获取数据,但我在浏览器中收到控制台错误:GET http://contactbe.default.svc.cluster.local/contacts http://contactbe.default.svc.cluster.local/contacts网络::ERR_NAME_NOT_RESOLVED。我的FE需要消耗/联系人端点来获取数据。我在 Angular 应用程序中使用 BE 服务 (contactbe.default.svc.cluster.local) 中的 DNS。这是我用来创建部署的 yml 文件:
apiVersion: v1
kind: Service
metadata:
name: mongo
labels:
run: mongo
spec:
type: NodePort
ports:
- port: 27017
targetPort: 27017
protocol: TCP
selector:
run: mongo
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: mongo
spec:
template:
metadata:
labels:
run: mongo
spec:
containers:
- name: mongo
image: mongo
ports:
- containerPort: 27017
---
apiVersion: v1
kind: Service
metadata:
name: contactbe
labels:
app: contactbe
spec:
type: NodePort
ports:
- port: 8181
targetPort: 8181
protocol: TCP
selector:
app: contactbe
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: contactbe
spec:
template:
metadata:
labels:
app: contactbe
spec:
containers:
- name: contactbe
image: glgelopfalcon/k8s_contactbe:latest
ports:
- containerPort: 8181
---
apiVersion: apps/v1beta1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: angular-deployment
spec:
selector:
matchLabels:
app: angular
replicas: 2 # tells deployment to run 2 pods matching the template
template:
metadata:
labels:
app: angular
spec:
containers:
- name: angular
image: glgelopfalcon/my-angular-app:latest
ports:
- containerPort: 80
---
# https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
kind: Service
apiVersion: v1
metadata:
name: angular-service
spec:
selector:
app: angular
ports:
- port: 80
targetPort: 80
protocol: TCP
type: LoadBalancer
我用谷歌搜索了很多,但仍然没有找到如何解决这个问题。如果有人能伸出援手,我将不胜感激。
控制台错误 https://i.stack.imgur.com/O2aBS.png
检查您的负载均衡器是否开放端口 27017 作为向端口 27017 发送请求
否则你可以将服务节点端口更改为80,目标端口将相同
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)