OpenFunction 是一个开源的云原生 FaaS(Function as a

Service,函数即服务)平台,旨在帮助开发者专注于业务逻辑的研发。在过去的几个月里,OpenFunction 社区一直在努力工作,为 OpenFunction 0.7.0 版本的发布做准备。今天,我们非常高兴地宣布

OpenFunction 0.7.0 已经正式发布了!感谢社区各位小伙伴的贡献和反馈!

OpenFunction 0.7.0 为您带来了许多新功能,包括新增 OpenFunction Gateway 作为同步函数入口、 新增 Java 和 NodeJS 同步函数和异步函数支持、新增 Helm 安装方式。

同时, 我们对 OpenFunction 依赖的组件都进行了版本升级。

OpenFunction Gateway

OpenFunction 从 0.5.0 开始采用 Kubernetes Ingress 来提供同步函数的统一入口,并且必须安装一个 nginx-ingress-controller。

在 OpenFunction 0.7.0 中,我们基于 Kubernetes Gateway API 实现了 OpenFunction Gateway 替代之前基于

Kubernetes Ingress 的 Domain 来访问同步函数的方法。

OpenFunction Gateway 提供了更强大、更灵活的函数网关,包含以下特性:

  • 可以选择任意支持 Kubernetes Gateway APIGateway 实现,如 Contour, Istio, Apache APISIX, Envoy Gateway 等。
  • 可以选择安装默认的 Gateway 实现(Contour), 此时 OpenFunction 将自动创建 Kubernetes Gateway。OpenFunction 也可以使用您环境中现有的 Kubernetes Gateway,只需要您在 OpenFunction Gateway 中引用它即可。
  • 可以自定义访问函数的模式,如基于 host 的路由模式和基于 path 的路由模式,在您没有定义函数路由时 OpenFunction 默认提供基于 host 的路由模式来访问函数。
  • 可以在函数路由部分自定义流量应该如何到达函数,OpenFunction 基于 Gateway API HTTPRoute 为您提供了强大的函数路由功能。
  • 可以通过函数外部地址在集群外部访问函数,只需要在OpenFunction Gateway 中配置好集群外部可以访问的域名即可(同时支持 Magic DNS 和 Real DNS)。
  • 现在 OpenFunction 将流量直接转发到 Knative Revision 而不再经过 Knative 的 Gateway。 如果不需要直接访问 Knative 服务, 您可以忽略 Knative Domain 相关的错误。

将来,OpenFunction 将支持在函数的不同版本之间进行流量分发。

多语言支持

OpenFunction 社区一直在努力完善多语言的支持:

  • Go

    functions-framework-go 发布了 v0.4.0,支持在一个函数中定义多个子函数,并且可以通过不同的 Path 和 Method 分别调用。

  • Java

    functions-framework-java 现在支持同步函数和异步函数。

  • NodeJS

    functions-framework-nodejs 发布了 v0.5.0, 支持同步函数和异步函数,并且支持同步函数触发异步函数。

    我们将在近期发布 functions-framework-nodejs v0.6.0,为您带来更多功能比如插件机制、与 SkyWalking 集成等。

OpenFunction 将会在后续版本支持更多语言如 Python、Dotnet 等。

Helm 安装 OpenFunction 及所有依赖组件

原来基于 CLI 安装的方法已弃用。

现在 OpenFunction 支持通过 Helm 安装 OpenFunction 及所有依赖的组件,相比原来通过 CLI 安装的方式更加云原生, 并且解决了部分用户访问 Google Container Registry(gcr.io)镜像受限的问题, 并且将长期维护。

TL;DR

helm repo add openfunction https://openfunction.github.io/charts/
helm repo update
helm install openfunction openfunction/openfunction -n openfunction --create-namespace

依赖组件升级

Components OpenFunction 0.6.0 OpenFunction 0.7.0
Knative Serving 1.0.1 1.3.2
Dapr 1.5.1 1.8.3
Keda 2.4.0 2.7.1
Shipwright 0.6.1 0.10.0
Tekton Pipelines 0.30.0 0.37.0

本文由博客一文多发平台 OpenWrite 发布!

OpenFunction 0.7.0 发布: OpenFunction Gateway、多语言及 Helm 安装支持的更多相关文章

  1. Nacos发布0.5.0版本,轻松玩转动态 DNS 服务

    阿里巴巴微服务开源项目Nacos于近期发布v0.5.0版本,该版本主要包括了DNS-basedService Discovery,对Java 11的支持,持续优化Nacos产品用户体验,更深度的与Sp ...

  2. Nacos Committers 团队首亮相,发布 0.9.0 版本

    223 天,发布 14 个版本,19 位 Committers,39 位 Contributors. 在宣布开源后的第 223 天,Nacos 发布了其第14个版本 - 0.9.0,该版本提升了 Na ...

  3. 3.0.0 alpha 重磅发布!九大新功能、全新 UI 解锁调度系统新能力

    2022 年 4 月 22 日,Apache DolphinScheduler 正式宣布 3.0.0 alpha 版本发布!此次版本升级迎来了自发版以来的最大变化,众多全新功能和特性为用户带来新的体验 ...

  4. Redis 3.0正式版发布,正式支持Redis集群

    Redis是一个开源.基于C语言.基于内存亦可持久化的高性能NoSQL数据库,同时,它还提供了多种语言的API.近日,Redis 3.0在经过6个RC版本后,其正式版终于发布了.Redis 3.0的最 ...

  5. RDIFramework.NET平台代码生成器V3.0版本全新发布-更新于20160518(提供下载)

    最新版本请转到:RDIFramework.NET平台代码生成器V3.1版本全新发布-更新于2016-10-08(提供下载) RDIFramework.NET代码生成器V3.0版本修改了针对3.0版本的 ...

  6. Bootstrap v4.0.0-alpha.5 发布,大量更新

    Bootstrap v4.0.0-alpha.5 发布了,Bootstrap是快速开发Web应用程序的前端工具包.它是一个CSS和HTML的集合,它使用了最新的浏览器技术,给你的Web开发提供了时尚的 ...

  7. (转载)一个用于Gnome桌面的下拉式终端: Guake 0.7.0 发布

    转自:https://linux.cn/article-5507-1.html Linux的命令行是最好.最强大的东西,它使新手着迷,并为老手和极客的提供极其强大的功能.那些在服务器和生产环境下工作的 ...

  8. Ionic 2.0.0-rc.1 发布,HTML5 移动应用框架

    Ionic 2.0.0-rc.1 发布了,Ionic Framework 是个高级的 HTML5 移动端应用框架,是个很漂亮的使用 HTML5 开发混合移动应用前端框架.本次更新内容如下: Bug 修 ...

  9. MVC4.0中项目发布遇到IE11时session存入URL中,导致记不住密码的问题

    ///MVC4.0中项目发布遇到IE11时session存入URL中,导致记不住密码的问题,在webconfig中配置<system.web><authentication mode ...

  10. log-malloc2 0.2.4 发布

    log-malloc2 0.2.4 发布了,该版本修复了日志格式输出的 bug. og-malloc2 是一个 malloc 日志预加载库,用于检测内存泄漏问题.

随机推荐

  1. PHP 红包功能代码

    前段时间被问这个问题,最近有空就写写啦,还是挺有趣的 首先做下抢红包方法分类: 对于发红包的人来说,一共有大致3类(其他的我暂时没想到,有想到可以联系我呀~) 一.拼手气红包个数不定(完全看运气) 二 ...

  2. Apache DolphinScheduler 在奇富科技的首个调度异地部署实践

    奇富科技(原360数科)是人工智能驱动的信贷科技服务平台,致力于凭借智能服务.AI研究及应用.安全科技,赋能金融机构提质增效,助推普惠金融高质量发展,让更多人享受到安全便捷的金融科技服务.作为国内领先 ...

  3. Leetcode: 586. Customer Placing the Largest Number of Orders

    题目要求如下: 给出的例子如下: 简单地说就是要找出表中订单最多客户的ID. 使用如下的代码进行实现: import pandas as pd def largest_orders(orders: p ...

  4. grpc断路器之hystrix

    上一章介绍了grpc断路器sentinel, grpc断路器之sentinel 但是由于公司线上系统用的告警与监控组件是prometheus,而sentinel暂时还没有集成prometheus,所以 ...

  5. AvaloniaChat-v0.0.2:兼容智谱AI 快速使用指南

    智谱AI介绍 北京智谱华章科技有限公司(简称"智谱AI")致力于打造新一代认知智能大模型,专注于做大模型的中国创新.公司合作研发了中英双语千亿级超大规模预训练模型GLM-130B, ...

  6. python开发环境安装-包含Anaconda的安装配置和pycharm的安装

    一. 需要得安装包 1.  Anaconda3-5.3.0-Windows-x86_64.exe  python环境 2.pycharm-professional-2021.2.2.exe      ...

  7. 删除链表倒数第N个节点(19)

    双指针法 双指针法主要是最开始有两个指针fast,slow都指向链表的虚拟头节点dummy,然后快指针先移动,这里需要先向后移动n+1位(因为你最终是要找到目标节点的前一个节点),然后slow和fas ...

  8. C语言三子棋

    话说自从大一学C语言后用C语言的巅峰也就是第十二届蓝桥杯了,后续开发什么的都是用的java,搞开发java这样的面向对象语言确实用着更顺手方便点.不过C语言YYDS,"C生万物"嘛 ...

  9. Python 潮流周刊#68:2023 年 Python 开发者调查结果(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  10. 掌握 C++17:结构化绑定与拷贝消除的妙用

    C++17 特性示例 1. 结构化绑定(Structured Binding) 结构化绑定允许你用一个对象的元素或成员同时实例化多个实体. 结构化绑定允许你在声明变量的同时解构一个复合类型的数据结构( ...