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

K8S系列第十三讲:Ingress详解

k8s配置ingress

[云原生专题-41]:K8S - 核心概念 - Service业务的统一网关接口Ingress详解安装常见操作命令

在k3s中启用其自带ingress——traefik的web-ui

k8s ingress及ingress controller