1

我想使用内部 Kubernetes dns 名称访问我的后端 pod。而不是使用http://somepodip:8080/get我想使用http://backend:8080/get来使用我的后端。

我目前正在运行我的后端 pod 并将它们连接到服务。

kind: Service
apiVersion: v1
metadata:
  name: backend
spec:
  selector:
    app: myapp-backend
  ports:
  - name: http
    protocol: TCP
    port: 8080
    targetPort: 8080

这确实将我的 pod 分配给后端服务。但是当我尝试使用带有http://backend/get的前端 pod 时,它找不到资源。

我是否错误地配置了服务?

4

1 回答 1

1

您的服务似乎没问题,问题可能是因为您的前端不是服务器呈现的,这意味着您的浏览器正在尝试查找名称backend,在这种情况下,您不能依赖 kubernetes 服务名称,因为您的浏览器无法识别它作为有效的主机名。

如果您想使用名称而不是 ip 从外部访问,请检查如何设置入口条目https://kubernetes.io/docs/concepts/services-networking/ingress/#what-is-ingress

于 2019-04-17T17:48:12.663 回答