【发布时间】:2017-03-15 06:42:24
【问题描述】:
我正在尝试让 Ingress 在 Kubernetes 中工作,但我没有成功。我正在使用默认示例在https://github.com/kubernetes/ingress/tree/master/controllers/nginx 学习教程。
我能够成功部署一切,但它没有暴露主机上的 80 端口,所以我无权访问。我在裸机安装中使用 CoreOS stable。
【问题讨论】:
标签: nginx kubernetes
我正在尝试让 Ingress 在 Kubernetes 中工作,但我没有成功。我正在使用默认示例在https://github.com/kubernetes/ingress/tree/master/controllers/nginx 学习教程。
我能够成功部署一切,但它没有暴露主机上的 80 端口,所以我无权访问。我在裸机安装中使用 CoreOS stable。
【问题讨论】:
标签: nginx kubernetes
我找到了这个问题的答案。 Nginix 入口控制器使用 hostPort 直接从主机公开端口 80 和 443。但是,我是使用 Flannel 作为 CNI 的覆盖网络,使用 CNI 时 hostPort 不可用。
我可以使用 nodePort,但我也可以使用常规服务。我将在不属于 Kubernetes 系统的入口主机前使用标准负载均衡器,它应该可以正常工作。
更新:所以我是对的,但有一个修复。只需将 hostNetwork: yes 添加到创建控制器和 hostPort 的 yaml 文件中即可。 :)
【讨论】:
hostNetwork: true 工作,谢谢。