k8s部署ingress及http、https-实战篇

一、简介ingress:
ingress-nginx #用于实现反代
https://kubernetes.github.io/ingress-nginx/deploy/#generic-deployment
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml
https://kubernetes.github.io/ingress-nginx/deploy/ #k8s部署ingress主网页

ingress #用于监视后端提供服务的端口、定义相关映射及代理规则给Nginx虚拟主机
service及后端服务 #用户后端pod服务及给Nginx虚拟主机提供被代理对象
组件:
mandatory.yaml #部署ingress-controller
ingress-service.yaml #部署service、后端pod、container
service-nodeport.yaml #暴露端口用于集群外的客户端访问
ingress.yaml #用于定义监听后端服务及Nginx反代理规则

二、部署七层http
1】定义部署ingress-nginx(ingress-controller)
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml

2】定义及部署service、后端pod、container
k8s部署ingress及http、https-实战篇

3】编辑ingress映射及反代理规则
k8s部署ingress及http、https-实战篇

注意:ingress中定义的映射规则及策略后续会自动注入到ingress-nginx的虚拟主机中(Nginx配置文件nginx.conf),故可以实现代理访问

4】定义servicenodeport来暴露端口或服务给互联网
k8s部署ingress及http、https-实战篇


kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/provider/baremetal/service-nodeport.yaml
注意:其中的nodePort可以省略,默认使用随机端口

5】测试
k8s部署ingress及http、https-实战篇

三、部署七层https
PS:本次使用自定义证书及key
1】创建私钥
k8s部署ingress及http、https-实战篇

2】创建证书(本次整为一行创建)
k8s部署ingress及http、https-实战篇
PS:CN必须为访问的域名相同

3】创建k8s格式试用的secret
k8s部署ingress及http、https-实战篇

4】编辑ingress映射及反代理规则
k8s部署ingress及http、https-实战篇
k8s部署ingress及http、https-实战篇

5】测试
k8s部署ingress及http、https-实战篇

猜你喜欢

转载自blog.51cto.com/11205200/2316239