k8s暴露服务-Ingress环境部署
选择谷歌镜像:google_containers/nginx-ingress-controller,选择阿里云镜像最新版本修改deploy.yaml文件中的拉取镜像地址。ingress-nginx是使用nginx作为反向代理和负载均衡的k8s的ingress控制器。deploy.yaml文件是一个资源清单。
部署ingress控制器:ingress-nginx
ingress-nginx是使用nginx作为反向代理和负载均衡的k8s的ingress控制器
![]()
![]()
![]()
![]()
![]()
![]()
![]()
1.去官网查看ingress-nginx安装指南,复制deploy.yaml文件下载地址:
官网:Installation Guide - Ingress-Nginx Controller
deploy.yaml文件是一个资源清单
![]()
![]()
![]()
2.在服务器wget命令下载官网上的deploy.yaml文件,sz下载到本地
![]()
![]()
![]()
![]()
![]()
![]()
![]()
3.修改deploy.yaml文件中ingress-nginx-controller控制器镜像拉取镜像地址,改成阿里云镜像地址,并添加配置项
阿里云镜像首页:https://dev.aliyun.com/
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
选择谷歌镜像:google_containers/nginx-ingress-controller,选择阿里云镜像最新版本修改deploy.yaml文件中的拉取镜像地址
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
添加hostNetwork配置项:
注意:如果开始这一步添加了该配置项,那下边的第7步应该会直接浏览器访问nginx服务成功,如果没有添加这一步,则需要重新搭建ingress环境,把应用deploy.yaml文件产生的ingress-nginx命名空间下的servie、pod、deploy删除
![]()
![]()
![]()
4.rz命令将本地修改的deploy.yaml文件上传到服务器:


5.应用文件,创建资源:kubectl apply -f deploy.yaml文件,查询ingress-nginx命名空间下创建的资源状态是否正常


创建之后ingress-nginx命名空间下pods状态不正常:
即有对应的service和deploy,但是没有正常的pod即pod状态不是Running,把ingress-nginx命名空间下的service和deploy全部删除(deploy删除之后pods会自动被删除),重新再执行kubectl apply -f deploy.yaml命令显示成功,pods状态正常:
![]()
![]()
![]()
![]()
![]()
6.创建ingress-nginx-rule.yaml规则文件,配置ingress规则:
![]()
(1)在本地创建ingress-nginx-rule.yaml规则配置文件,并rz命令上传到服务器:
注:后台服务名称写啥要看在k8s内部的service名称是啥


![]()
![]()
![]()
(2)应用上传的ingress配置文件:kubectl apply -f ingress-nginx-rule.yaml
注意:以下截图注释有点问题,kubectl get ing(ress)查询的是规则是否建立,即ingress-nginx-rule.yaml规则的配置文件文件中有一个name名称指明了规则的名称,如果规则文件应用成功,则正常ing会创建,如果之前已经应用过规则文件,再次应用相同规则文件时记得把之前应用生成的相同的规则用kubectl delete删除,然后再删除web hook配置,最后再应用配置文件,一般会成功
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
7.修改本地hosts文件,浏览器访问nginx服务:
注:第3张图浏览器访问nginx失败的原因是开始第3步修改从github上下载下来的deploy.yaml文件时少修改一个配置,所以导致访问失败,而不是因为ingress规则文件配置缺少,注释有点问题,如下(1)需要删除旧ingress-nginx命名空间下的service、deploy和pods,然后重新应用新的deploy.yaml文件,再去浏览器查询是否访问nginx成功
![]()
![]()
![]()
(1)本地修改deploy文件,添加hostNetwork配置,重新构建ingress环境:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
可能理解的不是很到位。。。。。。。。。。
更多推荐
所有评论(0)