灵雀云开源ALB ,为云原生 Kubernetes 网关领域再添新星

本文主要是介绍灵雀云开源ALB ,为云原生 Kubernetes 网关领域再添新星,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ALB (Another Load Balancer)是一款由灵雀云倾力打造的云原生 Kubernetes 网关,近日,正式宣布将其在Github上开源。ALB 的诞生,旨在满足日益增长的云原生应用需求,为开发者提供更为强大和灵活的网关解决方案。

ALB 支持在一个集群内创建多个隔离的网关实例供不同租户使用,支持 Ingress、Gateway API、四层服务暴露和自定义流量规则 DSL,能够轻松应对各种复杂场景的流量调度需求。

ALB 是灵雀云在用户侧多年实践和经验积累的结晶。作为一家始终致力于云原生技术研究和应用的领先企业,灵雀云在网关领域积累了丰富的实践经验。ALB 的开源,不仅是对灵雀云多年研发成果的分享,更是对云原生社区的一份献礼。

目前,ALB项目代码已经在Github上开源,项目地址为:https://github.com/alauda/alb。欢迎更多的技术开发者和爱好者前去试用。

为什么又做一个网关?

面对社区中众多优秀的云原生开源网关项目,灵雀云为何决定再开发一个网关呢?这源于灵雀云对用户需求深入的理解和技术前瞻性的洞察。早在 2015 年,当 Kubernetes 社区主要对外暴露方式还是 NodePort,Ingress API 尚未成熟之际,灵雀云便基于 OpenResty 开始了自研网关的探索之路。历经多年的迭代和发展,ALB 已在数百个用户的生产环境中成功落地,并承载了大规模的业务流量。

为了满足更多社区用户对云原生网关的需求,并汲取社区用户的反馈与协助,灵雀云决定将 ALB 开源。我们坚信,开源的力量能够推动 ALB 不断进化,为云原生领域带来更多可能性。

ALB 有哪些独特的能力?

ALB 相比其他开源网关项目提供了以下独特的能力:

隔离和多租户

通过使用 ALB Operator,用户可以在一个集群内创建和管理多个 ALB 网关实例,每个租户和应用都可以使用一组独占的 ALB 网关实例,避免了流量的冲突和资源争抢。

图片

Ingress 和 GatewayAPI 协议支持

ALB 同时支持了主流的 Ingress 标准,以及日趋流行的 Gateway API 标准,用户可以根据自己的需求进行选择,无需担心标准变化带来的影响。

强大的自定义规则

对于标准 Ingress 和 Gateway 不支持的复杂流量调度规则,ALB 提供了一组自定义的流量匹配 DSL,用户可以根据自己的需求来定义复杂的流量规则。

在灰度发布和 A/B test 的场景,我们需要将符合特征的流量导入到一个特定的服务实例。例如我们希望将 HTTP 流量路径前缀为/app-a 或者 /app-b 且 HTTP 方法为 POST ,且URL 参数包含group=vip ,且域名为*.app.com ,且 Header 中 location 为 east-1east-2 ,且 Cookie 中包含 uid ,且源 IP 在 1.1.1.1-1.1.1.100 范围内的流量中 50% 比例采样发送给 hello-world,那么我们可以定义下面一个流量规则:

apiVersion: crd.alauda.io/v1
kind: Rule
metadata:labels:alb2.cpaas.io/frontend: alb-demo-00080  # required, indicate the Frontend to which this rule belongsalb2.cpaas.io/name: alb-demo            # required, indicate the ALB to which this rule belongsname: alb-demo-00080-topunamespace: kube-system
spec:backendProtocol: ""                       # as same as Frontendcertificate_name: ""                      # as same as Frontenddslx:                                     # this rule matches url starts with /app-a or /app-b and method is post,and url param's group is vip, and host is *.app.com, and header's location is east-1 or east-2 and has a cookie name is uid, and source IPs come from 1.1.1.1-1.1.1.100- type: METHODvalues:- - EQ- POST- type: URLvalues:- - STARTS_WITH- /app-a- - STARTS_WITH- /app-b- type: PARAMkey: groupvalues:- - EQ- vip- type: HOST values:- - ENDS_WITH- .app.com- type: HEADERkey: LOCATION values:- - IN- east-1- east-2- type: COOKIEkey: uidvalues:- - EXIST - type: SRC_IPvalues:- - RANGE- "1.1.1.1"- "1.1.1.100"enableCORS: falsepriority: 5                              # the lower the number, the higher the priorityserviceGroup:services:- name: hello-worldnamespace: defaultport: 80weight: 50

ALB 经过数年的实践与迭代,已在众多用户的生产环境中得到广泛应用。随着云原生技术的迅猛发展,ALB 的应用前景必定更加广阔。

未来,我们将持续优化 ALB 的性能和稳定性,以满足更高的业务需求。同时进一步丰富其功能特性,以适应业务的多样性。我们计划在未来的版本中增加更多的流量调度策略,满足更复杂的业务场景。

此外,我们将积极参与到社区,借助社区的力量推动 ALB 的发展,并诚邀更多的用户和开发者加入我们的行列,共同推进云原生技术的发展与创新。

这篇关于灵雀云开源ALB ,为云原生 Kubernetes 网关领域再添新星的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/806832

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

90、k8s之secret+configMap

一、secret配置管理 配置管理: 加密配置:保存密码,token,其他敏感信息的k8s资源 应用配置:我们需要定制化的给应用进行配置,我们需要把定制好的配置文件同步到pod当中容器 1.1、加密配置: secret: [root@master01 ~]# kubectl get secrets ##查看加密配置[root@master01 ~]# kubectl get se

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

什么是Kubernetes PodSecurityPolicy?

@TOC 💖The Begin💖点点关注,收藏不迷路💖 1、什么是PodSecurityPolicy? PodSecurityPolicy(PSP)是Kubernetes中的一个安全特性,用于在Pod创建前进行安全策略检查,限制Pod的资源使用、运行权限等,提升集群安全性。 2、为什么需要它? 默认情况下,Kubernetes允许用户自由创建Pod,可能带来安全风险。

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟