ingress安装和使用测试
本文档可能存在错误,欢迎修改及更新,另外k8s官方文档更新较快,此文档仅供参考,实际可根据官网进行安装。
部署参考网址:https://github.com/kubernetes/ingress-nginx/blob/df61bd756505275baaa5fdc2a3dc4648e62dae95/docs/deploy/index.md
ingress部署项目:https://github.com/kubernetes/ingress-nginx/tree/master/deploy
pod,service创建参考网址:https://kubernetes.io/docs/concepts/
TCP以及UDP协议参考网址:https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/exposing-tcp-udp-services.md
1 ingress 安装
1.1 环境
(1)配置代理
配置网络代理,打开配置文件/etc/systemd/system/docker.service.d/http-proxy.conf,在文件中添加以下内容:
[Service]
Environment="HTTP_PROXY=http://xxx.xxx.xxx.xxx:3080" "HTTPS_PROXY=http://xxx.xxx.xxx.xxx:3080" "NO_PROXY=localhost,127.0.0.1,mirror.aliyuncs.com,aliyuncs.com"
表示除了localhost,127.0.0.1,mirror.aliyuncs.com,aliyuncs.com这几个ip和域名,其他都通过代理xxx.xxx.xxx.xxx:3080去访问外网。
(2)其他环境
必须安装了k8s,docker,kubectl等等必要的环境(这里不做介绍)。
1.2 安装
(1)创建命名空间ingress-nginx
curl https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/namespace.yaml \
| kubectl apply -f -
ingress相关的资源会部署在该命名空间下 (2)安装default-backend 前端的nginx最终负载到后端的services上,此时需要部署一个默认后端(default-backend),当不存在的域名访问进来,请求将负载到该后端上,用于返回404状态。