我想使用内部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
这确实将我的广告连播分配给了后端服务。但是,当我尝试在http://backend/get中使用前端pod时,找不到资源。
我是否错误地配置了服务?
答案 0 :(得分:1)
您的服务似乎还可以,问题可能出在您的前端未通过服务器呈现,这意味着您的浏览器正在尝试查找名称backend
,在这种情况下,您不能依赖kubernetes服务名称,因为您的浏览器无法将其识别为有效的主机名。
如果要使用外部名称而不是ip来访问,则要使用名称,请检查如何设置入口条目https://kubernetes.io/docs/concepts/services-networking/ingress/#what-is-ingress