Kubernetes:ERR_NAME_NOT_RESOLVED

use*_*193 5 spring-boot kubernetes google-kubernetes-engine kube-dns angular

我已经在 GKE 中部署了一个 mongo db、Spring Boot BE、Angular 应用程序。我的 FE 服务是一个负载均衡器,它需要与我的 BE 连接以获取数据,但我的浏览器出现控制台错误:GET http://contactbe.default.svc.cluster.local/contacts net::ERR_NAME_NOT_RESOLVED . 我的 FE 需要使用/contacts端点来获取数据。我在我的 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 
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索了很多,但我仍然没有找到如何解决这个问题。如果有人可以伸出援手,我将不胜感激。

控制台错误

Har*_*var 1

检查您的负载均衡器是否开放端口 27017 作为向端口 27017 发送请求

否则你可以将服务节点端口更改为80,目标端口将相同