首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >入口集群内Kubernetes通信

问入口集群内Kubernetes通信
EN

Stack Overflow用户
提问于 2018-03-06 23:13:37
回答 1查看 254关注 0票数 2

我有一个运行在minikube中的nginx入口(启用了addon),有几个pod和服务,入口有以下配置:

代码语言:javascript
复制
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

当我在集群之外时,下面的代码运行良好:

代码语言:javascript
复制
curl --header 'Host: api.info' $(minikube ip)/health

但是,当我在集群中时,我希望容器能够使用我的Ingress模板中列出的主机名相互通信。例如,我希望下面的代码可以工作,但它不能:

代码语言:javascript
复制
$ kubectl exec -it web-6c656c58d5-lpxsk /bin/bash
root@web-6c656c58d5-lpxsk:/web# curl api.info/health

相反,它从实际的api.info网站返回结果,而我没有任何从属关系。首先,有没有人能确认一下这是可以工作的?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-03-07 05:53:32

首先,.info是一个通用的域名系统,这使得域名解析变得混乱。

考虑使用受保护的TLD或您自己注册的TLD,例如api.example.com

您应该使用类似于以下内容的行来编辑/etc/hosts:

<ip_address> api.info

或者更改resolv.conf以确定内部域名的优先级。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49134106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档