Serverless 函数正在推动当今 DevOps 开发和部署实践的快速普及。 Knative 在 Kubernetes 上是成功采用 Serverless 函数架构的最流行的 Serverless 平台之一。但是,开发人员必须了解如何使用 Kubernetes API、Knative 资源和面向函数的编程的组合来指定 Serverless 功能。DevOps 团队还需要标准化运行时堆栈(即应用程序运行时、构建器镜像、部署配置和健康检查),以便在 Kubernetes 上执行函数。如果您作为开发人员,可以使用熟悉的技术和实践来设置这一切,那会怎么样呢?
本文将指导开发人员如何开始使用 Quarkus Helm Chart 在 Kubernetes 上部署 Serverless 函数。此外,开发人员可以避免从头开始开发函数、优化应用程序以及将其部署到 Kubernetes 的额外工作。
如果您还没有体验过使用 Helm 在 Kubernetes 上部署云原生应用程序,我将告诉您 Helm 是什么以及它能为您带来什么好处。Helm 是 Kubernetes 最流行的软件包管理器之一。Helm 提供了一个 Chart,它在一个软件包文件中简化了 Kubernetes 资源,用于应用程序构建和部署。开发人员可以使用 Helm 命令行界面或图形仪表板将 Chart 安装到 Kubernetes。
安装 Quarkus Helm Chart
在本文中,您将使用 OpenShift Kubernetes Distribution (OKD),它构建于 Kubernetes 之上,具有应用程序生命周期管理功能和 DevOps 工具。如果您尚未在 OKD 集群上安装 Helm 功能,请按照安装文档进行操作。
在使用 Quarkus Helm Chart 构建 Quarkus 应用程序之前,您需要在 OKD 集群中创建拉取和推送 Secret。您可以使用 Secret 从外部容器镜像仓库拉取构建器镜像,然后将其推送到该仓库。
注意: 如果您在应用程序构建期间不需要使用外部容器镜像仓库,或者不需要将应用程序部署到 OKD 集群,则可以跳过此步骤。
使用以下 oc 命令 创建拉取 Secret
$ oc create secret docker-registry my-pull-secret \
--docker-server=$SERVER_URL \
--docker-username=$USERNAME \
--docker-password=$PASSWORD \
--docker-email=$EMAIL
然后,使用以下命令创建推送 Secret
$ oc create secret docker-registry my-push-secret \
--docker-server=$SERVER_URL \
--docker-username=$USERNAME \
--docker-password=$PASSWORD \
--docker-email=$EMAIL
安装 Quarkus Helm Chart
$ helm repo add quarkus \
https://github.com/redhat-developer/redhat-helm-charts
使用 Helm Chart 构建和部署 Quarkus 应用程序
转到 OKD 集群中的开发者控制台,单击 +添加 菜单中的 Helm Chart。然后在搜索框中键入 quarkus。单击 Quarkus v0.0.3 Helm Chart,如下所示。
注意: 您需要创建一个 quarkus-helm 项目 (命名空间) 以在您的 OKD 集群中安装 Quarkus Helm Chart。

(Daniel Oh, CC BY-SA 4.0)
单击 安装 Helm Chart,如下所示。

(Daniel Oh, CC BY-SA 4.0)
将编辑器切换到 YAML 视图,然后粘贴以下构建和部署配置
build:
uri: https://github.com/redhat-mw-demos/todo-demo-app.git
ref: master
env:
- name: S2I_SOURCE_DEPLOYMENTS_FILTER
value: "*-runner.jar lib*"
deploy:
readinessProbe:
httpGet:
path: /health/ready
port: http
tcpSocket: null
livenessProbe:
httpGet:
path: /health/live
port: http
tcpSocket: null
然后,单击 安装 按钮,如下所示。

(Daniel Oh, CC BY-SA 4.0)
在此处 here 查找更多值来配置 Quarkus Helm Chart。
一旦 Chart 成功安装,您将在拓扑视图中看到以下 Quarkus Pod,如下所示。

(Daniel Oh, CC BY-SA 4.0)
注意: 在构建处理期间,您可能会在 部署 中看到 ErrImagePull 和 ImagePullBackOff。构建完成后,您的镜像将自动推出。
单击 打开 URL 图标。它将您带到 todos 应用程序。让我们尝试添加一些有趣的条目,如下所示。

(Daniel Oh, CC BY-SA 4.0)
结论
您已经了解了开发人员如何在几分钟内使用 Helm Chart 构建 Quarkus 应用程序并将其部署到 Kubernetes/OpenShift 集群的方法。开发人员可以管理应用程序运行时堆栈,包括升级、回滚、卸载以及添加新的配置,例如应用程序健康检查、复制,而无需更改应用程序源代码或开发新的 Kubernetes 清单 YAML 文件。这最大限度地减轻了开发人员的负担,使他们能够继续利用应用程序运行时,而不是在 Kubernetes 上实现业务逻辑。有关 Quarkus 旅程的更多信息,请关注此处
评论已关闭。