写点什么

Kubernetes Ingress 升级为 GA,带来两大主要变化

2020 年 10 月 25 日

Kubernetes Ingress升级为GA,带来两大主要变化

在 2015 年首次引入 Ingress API 后,Kubernetes 团队在最近的 Kubernetes 1.19 版本中将该 API 升级为 GA。


Ingress API用于将外部 HTTP/HTTPS 流量路由到后端 Kubernetes 服务。尽管这个 API 还处于测试阶段,但它已经被广泛使用,因为它是将外部流量以基于路径的形式路由给 Kubernetes 服务的唯一方法。正如谷歌开源博客所述,升级到 GA 的两个主要变化是 pathType 和 IngressClass。


在 2019 年 11 月的 KubeCon/CloudNativeCon 大会演讲中,Christopher M Luciano(IBM)和 Bowei Du(谷歌)演示了 GA 增强版预览。他们指出,以前的 API 在“确保巨大的可移植性”方面存在限制,并解释了 GA 版本的变化。这些限制导致大量第三方扩展和产品的出现——免费的和商业的——它们提供了路由、身份验证、访问控制、速率限制和度量收集等附加特性,其中包括 HAProxy、nginx、Traefik、Kong、Ambassador 和 Contour 等等。Kubernetes 项目本身维护 GCE(谷歌 Kubernetes 引擎使用)和 nginx 控制器。


Ingress 控制器通常是由云供应商为托管 Kubernetes 实现的组件,“完成”Ingress 功能——也就是说,通常通过负载均衡器设置外部流量代理,并基于 Ingress 配置和同步路由规则。当 Kubernetes 部署在像 GCP、AWS 和 AKS 等云平台上时,Ingress 控制器由云供应商提供,云供应商的负载均衡器为其提供支持。当然,也可以选择使用第三方 Ingress 控制器,如 nginx 或 HAProxy。


在路由方面,pathType对之前的配置进行了扩展,允许委托给底层的 Ingress 控制器。除了委托之外,通过设置“pathType: ImplementationSpecific”——可以是精确匹配和前缀匹配,实现更灵活的配置,这在 Kubernetes 1.19 中是必需的。


IngressClass封装了有关控制器的信息及其配置信息。然后,Ingress 定义将引用这个类,它将取代旧的、非标准的 kubernetes.io/ingress.class 注解。


以前通过注解和 ConfigMaps 来扩展 Ingress 的配置。在他们的演讲中,Luciano 和 Du 还提到 API 的关键变化:清理对象模型、对规范的一些调整以及备用后端类型的灵活性。最后一点是指支持备用后端(如存储桶),而不仅仅是 Kubernetes 服务。新版本的目标之一是通过扩展机制为特定于供应商的行为提供标准机制。Ingress API 是通用的,与云平台无关,并独立于 Ingress 控制器。这些特性中的大多数都包含在 1.18 发行版中。


迹象表明,Ingress 的开发路线图是维护版本 v1,同时开发“V2 Ingress API 或具有超功能集的完全不同的 API”。“Gateway”是一个开源的 Kubernetes API,“设计它是为了扩展 Ingress 的能力”,这可能是朝着这个方向迈出的一步。


原文链接


Kubernetes Ingress Is Now Generally Available


2020 年 10 月 25 日 09:001218

评论

发布
暂无评论
发现更多内容

SpringCloud 从入门到精通 03---自动生成数据模型

Felix

用户体验提升计划:前端性能检测清单2021

知识乞丐

前端性能优化 28天写作

喜提offer!支付宝Java研发岗四面,从基础到项目在到架构与业务

Java架构之路

Java 程序员 架构 面试 编程语言

精选算法面试-链表(反转)

李孟

算法 链表 28天写作

【架构师训练营】大作业二:架构知识总结

MindController

总结 架构师 架构师训练营第 1 期

聚焦产业链供应链 拓展数字经济新空间

CECBC区块链专委会

数字经济 企业融资

公安一体化警务,合成指挥作战平台搭建

t13823115967

智慧公安

感谢 Gridea,让我有动力写作

和牛

程序员

【得物技术】App需要什么样移动网关

得物技术

App 后端 网关 得物技术 移动端

Junit4 Rules 使用

hungxy

Java JUnit

[架构师训练营第 1 期] 大作业(二):架构师技术知识导图

猫切切切切切

Linux Socket 编程

赖猫

c++ Linux linux编程 linux运维 linux开发

2020,云计算这一年

脑极体

程序员如何让自己更快的废掉?

冰河

程序员 程序人生 规划 职业生涯

Java并发包源码学习:CLH同步队列及同步资源获取与释放

程序员小毕

Java 源码 jdk 多线程 并发

架构师第七周总结

Geek_xq

趣店容器进化史

ZoaChou

k8s 容器化

爱了! Alibaba技术官甩出的“阿里内部Java成长笔记”,差距对比真的是不止一点点

Java架构之路

Java 程序员 架构 面试 编程语言

细节爆炸!腾讯用13个案例实战讲明白MySQL,没想到这么全

996小迁

Java MySQL 架构 面试 程序人生

把成员变量转换成局部变量会更快吗?

chengmboy

Java

Serverless 在 SaaS 领域的最佳实践

阿里巴巴云原生

云计算 阿里云 开发者 云原生 消息中间件

关于拼多多价值的思考

.

28天写作

【架构师训练营】大作业一:快递架构设计

MindController

架构设计 架构师

三无小区整改,平安小区智能化管理平台搭建

t13823115967

智慧社区管理平台开发

[架构师训练营第 1 期] 大作业(一):通达系统概要设计图

猫切切切切切

联通链:5G时代的信任链

CECBC区块链专委会

中国联通

邹平打造区块链生态环境监管体系

CECBC区块链专委会

区块链 生态环境

使用 Jenkins + Docker 构建与部署 Serverless 应用

donghui

Docker Serverless jenkins

第十届中国云计算标准和应用大会落幕 灵雀云Kube-OVN斩获优秀开源项目奖

York

灵雀云 Kubernetes k8s Kube-OVN

一文读懂HTML和CSS的关系

博文视点Broadview

用 JSX 建立组件 Parser(解析器)

三钻

JavaScript 前端 组件化 前端进阶

Kubernetes Ingress升级为GA,带来两大主要变化-InfoQ