Kubernetes Ingress 实战指南:从基础到高级应用
1. 引言
在动态环境中,随着虚拟主机数量的增加,负载均衡器的配置会变得极为复杂。Kubernetes Ingress 系统旨在简化这一过程,它通过标准化配置、将配置迁移到标准的 Kubernetes 对象以及将多个 Ingress 对象合并为负载均衡器的单一配置来实现这一目标。
2. Ingress 概述
Ingress 在概念上简单,但在实现层面与 Kubernetes 中的其他常规资源对象有很大不同。它分为通用资源规范和控制器实现两部分,Kubernetes 本身并未内置“标准”的 Ingress 控制器,用户需要安装众多可选实现之一。
用户可以像操作其他对象一样创建和修改 Ingress 对象,但默认情况下,没有代码会对这些对象采取实际行动,需要用户(或所使用的发行版)安装和管理外部控制器,因此控制器是可插拔的。
Ingress 之所以如此设计,主要有两个原因:一是没有一种单一的 HTTP 负载均衡器可以普遍适用,除了许多软件负载均衡器(包括开源和专有)外,云提供商(如 AWS 的 ELB)和基于硬件的负载均衡器也提供负载均衡功能;二是 Ingress 对象在 Kubernetes 添加通用扩展功能之前就已引入,随着 Ingress 的发展,它可能会采用这些机制。
3. 安装 Contour
这里我们使用名为 Contour 的 Ingress 控制器进行示例。Contour 用于配置开源(CNCF 项目)负载均衡器 Envoy,Envoy 可通过 API 进行动态配置,Contour Ingress 控制器负责将 In
超级会员免费看
订阅专栏 解锁全文
224

被折叠的 条评论
为什么被折叠?



