k8s Ingress 介绍和部署 IngressController

Ingress介绍和部署IngressController

Ingress是为了弥补nodeport不足而生的,nodeport存在不足:一个端口只能一个服务使用,端口需要提前规划,只支持4层负载均衡。

Ingress 公开了从集群外部到集群内部服务的HTTP和HTTPS路由的规则集合,而具体实现流量路由是由Ingress Controller负责。

Ingress: k8s中一个抽象资源,给管理员提供一个暴漏应用的入口定义方法。
Ingress Controller: 根据Ingress生成具体的路由规则,并对Pod负载均衡器。

file

ingress Controller工作流程
        Ingress Contronler通过于k8s API交互,动态去感知集群中Ingress 规则变化,然后读取它按照自定义规则,规则就是写明哪个域名对应哪个service ,生成一段nginx配资后,应用到管理Nginx服务, 然后热加载生效,从而达到Nginx负载均衡器配置及动态更新问题。

ingress-controller流程: 客户端->LB(公网)-> Ingress Controller(nginx) -> 分布在各pod节点
nodeport流程:客户端->LB(公网)->Service(nodeport)--> Ingress Controller(nginx) -> 分布在各pod节点
进入ingress-nginx
[root@k8s-master ~]# kubectl exec -it nginx-ingress-controller-5dc64b58f-7qwxn -n ingress-nginx -- bash 

更多请查看:
k8s Ingress介绍和部署IngressController
k8s高可用部署Ingress

为者常成,行者常至