全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

Ingress概述

最近更新时间:2022-01-13 22:11:39

Ingress简介

在Kubernetes集群中,Service和Pod的IP仅在集群内部访问,如果外部应用需要访问集群内的服务,集群外部请求将被转发到Service所在节点暴露的NodePort上,然后由Kube-proxy组件将其转发给相关的Pod。而Ingress是为集群外部请求提供的路由规则集合,简单来讲就是提供外部访问集群的入口,将外部的HTTP或HTTPS请求转发到集群内不同Service的后端Pod上。

Ingress资源中定义了外部流量的路由规则,而这些规则的解析与转发需要由Ingress controller来实现。Ingress controller负责解析Ingress规则,在Ingress规则有增删改的变动时同步更新controller对应的访问配置,当Ingress controller收到请求时根据Ingress中的访问规则将请求转发到对应的Service上。因此Ingress规则生效的前提之一,是Kubernetes集群中部署了可以解析对应规则的Ingress controller。Ingress工作原理示意图如下:

ingress.jpeg

Nginx Ingress Controller

容器服务基于Nginx ingress controller和金山云负载均衡服务来实现外部请求在集群内的转发。您可根据业务负载情况对Ingress controller进行自定义容器化部署,也可兼容Nginx ingress开源方案,通过Annotations扩展Kubernetes原生Ingress能力,实现灰度发布、URL重定向等高级配置。

Nginx-ingress 名词解释

  • Nginx-ingress 组件:容器集群中使用 Nginx-ingress依赖于Nginx-ingress组件,您可以在集群的组件管理页面一键安装部署 Nginx-ingress。
  • Nginx-ingress controller实例:一个集群中可部署多个 Nginx-ingress controller实例(例如一个用于公网,一个用于内网)。在 Kubernetes 中对应一个 CRD,创建一个 Nginx-ingress 实例会在集群中自动创建 Nginx-ingress-controller、service、configmap 等 Kubernetes 资源。
  • Nginx-ingress-controller:实际 Nginx 负载, 同时 controller 会 watch kubernetes ingress 对象的变化更新在集群中,Nginx 负载的转发配置即 nginx.conf 文件。
文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈