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 API 的 Gateway 完成,如 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 发布!