【发布时间】:2019-04-18 01:48:12
【问题描述】:
我想使用内部 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 时,它找不到资源。
我是否错误地配置了服务?
【问题讨论】:
-
您的服务似乎没问题,问题可能是因为您的前端不是服务器呈现的,这意味着您的浏览器正在尝试查找名称
backend,在这种情况下您不能依赖在 kubernetes 服务名称上,因为您的浏览器无法将其识别为有效的主机名。 -
前端和后端 Pod 是否在同一个命名空间中?
http://backend应该可以工作 -
是的,它们在同一个命名空间中
-
不清楚您的问题。您的意思是使用入口并且无法访问后端服务吗?你用过什么前端?提供更多详细信息,您已完成的步骤。
-
我无法使用服务访问我的后端,我现在按照建议使用 ingress
标签: kubernetes connection azure-aks kubernetes-service