概述
在使用集群的情况下很多时候需要进行代理,当然nginx可以是个不错的选择,但是在k8s中有一个add-on的插件,ingress可以很舒服的达到目的。
安装
使用
项目需求
- 我的目的是可以在使用一个域名的情况下,通过请求的不同前缀进行区分服务,用实际例子来说就是:
- http://unioj.org:32366/beego -----> 访问beego服务端
- unioj.org:32366/healthy -----> 访问判题器的健康检测api
- 这里的需求可以看出是由不同的,也就是说第一个需求 http://unioj.org:32366/beego 需要解析出beego并且beego不能出现在后续实际访问集群服务的链接之中;而unioj.org:32366/healthy是需要直接接卸到服务并且healthy直接作为访问链接。
注意
ingress的代理是用于外部访问集群中的服务的,那么如果需要在集群内布进行解析服务可以使用集群内部的coredns等dns服务发现的插件
集群环境
[root@k8s-master1 ingress]# kubectl get pod -o wide </