简单介绍:
Ingress是Kubernetes API的标准资源类型之一,它其实就是一组基于DNS名称或URL路径把请求转发至指定的Service资源的规则,用来将集群外部的请求流量转发至集群内部。但是,Ingress资源自身并不能进行“流量穿透”,它仅是一组路由规则的集合,这些规则想要真正发挥作用还需要其他功能的辅助,如监听某套接字,然后根据这些规则的匹配机制路由请求流量。这种能为Ingress资源监听套接字并转发流量的组件称为Ingress控制器(Ingress Controller)。
部署方法:① helm安装ingress ②传统yaml文件安装ingress
测试环境:
一个kubernetes集群,配置了helm
操作步骤:
方法①
1. 用helm搜索并安装
[root@k8s-master ~]# helm search nginx-ingress NAME CHART VERSION APP VERSION DESCRIPTION stable/nginx-ingress 0.9.5 0.10.2 An nginx Ingress controller that uses ConfigMap to store ... stable/nginx-lego 0.3.1 Chart for nginx-ingress-controller and kube-lego [root@k8s-master ~]# helm install --name nginx-ingress --set "controller.hostNetwork=true,rbac.create=true" stable/nginx-ingress NAME: nginx-ingress LAST DEPLOYED: Sat May 25 13:51:54 2019 NAMESPACE: default STATUS: DEPLOYED RESOURCES: ==> v1/ConfigMap …… ……
2. 查看pod运行状态
[root@k8s-master ~]# kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE nginx-ingress-controller-78f9df54dd-dmxvr 1/1 Running 0 59s 172.19.5.40 k8s-node3 nginx-ingress-default-backend-6f598d9c4c-ms7xx 1/1 Running 0 58s 192.168.1.43 k8s-node1
注:上面的高亮IP是某一个节点的IP,此刻这个节点上已经启动了80和443端口;同时,也起了一个默认的后端(default backend),这个默认的后端就做了一件事:返回404(如果访问根)。
3. 浏览器IP测试和域名(k8s.xxx.cn)测试效果
以上是安装后的默认配置,如果需要添加其他类似于api.xxx.com或者www.xxx.com/api 这样的域名,继续添加或者修改ingress资源,然后在ingress中引用ServiceName就能指向到后端的pod。
转载于:https://www.cnblogs.com/ding2016/p/10922391.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100899.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...