k8s-ingress设置通过url转发
1、案例1、先创建两个测试service暴露两个应用创建一个httpd的deploymentkubectl create deployment httpd --image=httpd创建httpd的servicekubectl expose deployment httpd --port=80 --target-port=80创建一个nginx的deploymentkubectl create d
·
目录
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
创建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
浏览器访问,成功
注意:404的原因是,当你访问代理url路径为foo时,代理到后台也是对应的foo路径,即如下逻辑
web2.aliangedu.cn/foo -> nginx:80/foo(404)
修改pod中nginx的信息,在html下新建一个foo文件夹并写入一个index页面,再回到首页访问
首页也能访问到foo路径下的信息
同理,httpd页面路径一样,因为他是默认访问bar路径
在他的pod内首页默认路径后面加bar目录并新建一个index
首页也可访问
、
如此,即可警告一个域名转发进入不同的url
更多推荐
已为社区贡献13条内容
所有评论(0)