【问题标题】:Kubernetes service can't communicate with each otherKubernetes 服务无法相互通信
【发布时间】:2021-02-21 14:06:39
【问题描述】:

我是 Kubernetes 新手,我尝试创建两个可以相互通信的服务。第一个服务是一个简单的静态 Web(HTML、js),类型为 LoadBalancer,第二个服务是 express.js 后端,类型为 ClusterIP。这是我的service.yaml 文件:

apiVersion: v1
kind: Service
metadata:
  name: number-generator
spec:
  selector:
    app: number-generator
  ports:
  - port: 3000
    targetPort: 3000
  type: ClusterIP
---
apiVersion: v1
kind: Service
metadata:
  name: number-web
spec:
  selector:
    app: number-web
  ports:
  - port: 80
    targetPort: 80
  type: LoadBalancer

这是我的deployment.yaml 文件:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: number-generator
spec:
  selector:
    matchLabels:
      app: number-generator
  template:
    metadata:
      labels:
        app: number-generator
    spec:
      containers:
      - name: number-generator
        image: cantdocpp/number-generator
        ports:
        - containerPort: 3000
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: number-web
spec:
  selector:
    matchLabels:
      app: number-web
  template:
    metadata:
      labels:
        app: number-web
    spec:
      containers:
      - name: number-web
        image: cantdocpp/number-web:v5
        ports:
        - containerPort: 80

所以在localhost:80可以访问的number-web服务内部,应该访问number-generator API来获取一个随机数。我尝试使用http://number-generator/http://number-generator:3000/ 访问它,但它们都返回如下网络错误:

GET http://number-generator/ net::ERR_NAME_NOT_RESOLVED

无论我调用http://number-generator/http://number-generator:3000/,错误应该或多或少相同。那么如何让这两个服务相互通信呢?

【问题讨论】:

  • 当您尝试使用http://number-generator.default.svc.cluster.local:3000 而不是http://number-generator:3000 时,您的请求是否通过?
  • 嗨@rkosegi,它仍然无法正常工作

标签: kubernetes kubernetes-pod kubernetes-service


【解决方案1】:

我刚刚发现了问题。

所以,因为我为前端使用了一个静态站点,所以当我调用后端服务时它实际上是从浏览器调用它。浏览器不是我们的 kubernetes 集群,所以当我尝试使用 ajax 访问 number-generator 服务时,它会发送这些错误。

当我尝试将我的静态前端更改为 express app 时,它可以访问后端 number-generator 服务,因为它包含在集群中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 2021-11-07
    • 1970-01-01
    相关资源
    最近更新 更多