我有一个在 minikube(启用插件)中运行的 nginx 入口,带有几个 pod 和服务,入口具有以下配置:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx
spec:
rules:
- host: api.info
http:
paths:
- backend:
serviceName: api-service
servicePort: 80
- host: web.info
http:
paths:
- backend:
serviceName: web-service
servicePort: 80
当我在集群之外时,以下工作正常:
curl --header 'Host: api.info' $(minikube ip)/health
但是,当我在集群中时,我希望容器能够使用我的 Ingress 模板中列出的主机名相互通信。例如,我希望以下内容可以工作,但事实并非如此:
$ kubectl exec -it web-6c656c58d5-lpxsk /bin/bash
root@web-6c656c58d5-lpxsk:/web# curl api.info/health
相反,它从我没有隶属关系的实际 api.info 网站返回结果。首先,有人可以确认这是否可行吗?
谢谢你。