目录
1、案例
1、先创建两个测试service暴露两个应用
创建一个httpd的deployment
kubectl create deployment httpd --image=httpd
创建httpd的service
kubectl expose deployment httpd --port=80 --target-port=80
创建一个nginx的deployment
kubectl create deployment nginx --image=nginx
创建nginx的service
kubectl expose deployment nginx --port=80 --target-port=80
查看创建结果
kubectl get svc
![](https://img-blog.csdnimg.cn/c3e67ac0751f4dae9a2208172b62a9bf.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rGf5Y2X6YGT5Lq6,size_20,color_FFFFFF,t_70,g_se,x_16)
创建ingress的yaml代理这两个service
apiVersion: networking.k8s.io/v1kind: Ingressmetadata:name: web2spec:ingressClassName: nginxrules:- host: web2.aliangedu.cnhttp:paths:- path: /foopathType: Prefixbackend:service:name: nginxport:number: 80- path: /barpathType: Prefixbackend:service:name: httpdport:number: 80
执行此yaml
kubectl apply -f ingress2.yaml
查看
kubectl get ingress
![](https://img-blog.csdnimg.cn/4d2e5ad66d68402584b8d85551b80906.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rGf5Y2X6YGT5Lq6,size_20,color_FFFFFF,t_70,g_se,x_16)
浏览器访问,成功
![](https://img-blog.csdnimg.cn/c705c5fc32bb4775a5a6e2f1f6e3f045.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rGf5Y2X6YGT5Lq6,size_20,color_FFFFFF,t_70,g_se,x_16)
注意:404的原因是,当你访问代理url路径为foo时,代理到后台也是对应的foo路径,即如下逻辑
web2.aliangedu.cn/foo -> nginx:80/foo(404)
修改pod中nginx的信息,在html下新建一个foo文件夹并写入一个index页面,再回到首页访问
![](https://img-blog.csdnimg.cn/a2fb539d7b624e4783e842a21d0e3822.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rGf5Y2X6YGT5Lq6,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/1ea1670dccef47f1bc8b6416ead8ba20.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rGf5Y2X6YGT5Lq6,size_20,color_FFFFFF,t_70,g_se,x_16)
首页也能访问到foo路径下的信息
同理,httpd页面路径一样,因为他是默认访问bar路径
![](https://img-blog.csdnimg.cn/4c0483d41ec0464aad355d203c57620c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rGf5Y2X6YGT5Lq6,size_20,color_FFFFFF,t_70,g_se,x_16)
在他的pod内首页默认路径后面加bar目录并新建一个index
![](https://img-blog.csdnimg.cn/d4141162f8134ca29329d90be35f5619.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rGf5Y2X6YGT5Lq6,size_20,color_FFFFFF,t_70,g_se,x_16)
首页也可访问
![](https://img-blog.csdnimg.cn/cb0ea5ab64844895b1c8f023ac453084.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rGf5Y2X6YGT5Lq6,size_16,color_FFFFFF,t_70,g_se,x_16)
如此,即可警告一个域名转发进入不同的url