K8S的Ingress特性

VIP和Service代理:

K8S v1.0:使用userspace模式

K8S v1.1:新增iptables模式替代userspace,从v1.2版本开始,默认是iptables代理

K8S v1.8.0-beta:添加ipvs代理,v1.14版本开始默认采用ipvs代理

k8s中iptables和ipvs区别
 


背景:无论是iptables还是ipvs方式代理service,其实都是工作在4层(TCP/UDP over IP)概念,4层的代理方案是无法对协议进行解析并处理的。所以,在K8S v1.1版本中,新增了 Ingress API,用来可以实现7层(应用层)代理方案

采用Ingress方案需要有应用层的软件提供支持,例如 nginx 的ingress方案:

Ingress-nginx github地址:https://github.com/kubernetes/ingress-nginx

Ingress-Nginx 官网地址:https://kubernetes.github.io/ingress-nginx

常规nginx反向代理方案:

K8S的Ingress特性_第1张图片

Ingress-Nginx工作原理:
K8S的Ingress特性_第2张图片


采用ingress-nginx的方案最终的效果:

使用 k8s配置的风格,实现在nginx 配置文件中配置代理规则 相同的效果;

同理还有 Ingress-HAproxy 方案,配置比起nginx稍微麻烦

 

你可能感兴趣的:(Kubernetes)