原来我们需要将端口号对外暴露,通过 ip + 端口号就可以进行访问
原来是使用Service中的NodePort来实现
但是NodePort还存在一些缺陷
pod 和 ingress 是通过service进行关联的,而ingress作为统一入口,由service关联一组pod中
在实际的访问中,我们都是需要维护很多域名, a.com 和 b.com
然后不同的域名对应的不同的Service,然后service管理不同的pod
需要注意,ingress不是内置的组件,需要我们单独的安装
步骤如下所示
创建Nginx Pod
创建一个nginx应用,然后对外暴露端口
# 创建pod
kubectl create deployment web --image=nginx
# 查看
kubectl get pods
对外暴露端口
kubectl expose deployment web --port=80 --target-port=80 --type:NodePort
下面我们来通过yaml的方式,部署我们的ingress,配置文件如下所示
这个文件里面,需要注意的是 hostNetwork: true,改成ture是为了让后面访问到
kubectl apply -f ingress-con.yaml
通过这种方式,其实我们在外面就能访问,这里还需要在外面添加一层
kubectl apply -f ingress-con.yaml
最后通过下面命令,查看是否成功部署 ingress
kubectl get pods -n ingress-nginx
创建ingress规则文件,ingress-h.yaml
添加域名访问规则
在windows 的 hosts文件,添加域名访问规则【因为我们没有域名解析,所以只能这样做】
文件路径: c:\windows\system32\drivers\etc
最后通过域名就能访问
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_38304320/article/details/121187874
内容来源于网络,如有侵权,请联系作者删除!