k8s Ingress使用详解
Posted 小码农叔叔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s Ingress使用详解相关的知识,希望对你有一定的参考价值。
一、什么是Ingress
在上一篇关于k8s之service的使用一篇中提到,Service对集群之外暴露服务的主要方式有两种,NotePort和LoadBalancer,但这两种方式,都有一定的缺点,具体来说:
- NodePort 会占用很多集群机器的端口,当集群服务变多的时候,过多的端口会给k8s的运维人员带来诸多的不便;
- 而LB的缺点是每个service需要一个LB,不仅浪费而且麻烦,并且需要kubernetes之外设备的支持;
基于这种现状,k8s提供了Ingress这种资源对象,Ingress只需要一个NodePort或者一个LB就可以满足暴露多个Service的需求;
二、Ingress 工作机制
Ingress 的工作机制可参考下图进行理解;
实际上,Ingress相当于一个7层的负载均衡器,可以理解为kubernetes对反向代理的一个抽象,它的工作原理类似于nginx;
或者可以理解为:在Ingress里建立了诸多的映射规则,Ingress Controller通过监听这些配置规则并转化成Nginx的反向代理配置 , 然后对外部提供服务;
三、Ingress 核心概念
关于Ingress,有下面两个概念需要
以上是关于k8s Ingress使用详解的主要内容,如果未能解决你的问题,请参考以下文章
(转)详解k8s组件Ingress边缘路由器并落地到微服务 - kubernetes
[云原生专题-41]:K8S - 核心概念 - Service业务的统一网关接口Ingress详解安装常见操作命令