前面我们介绍Knative与k3s或kubernetes结合架构。可以快速构建Serverless架构Pass服务。 Knative Functions 提供了一个简单的编程模型,用于在 Knative 上使用函数,无需深入了解 Knative、Kubernetes、容器或 dockerfile。Knative Functions 使您能够使用 func CLI 轻松创建、构建和部署无状态、事件驱动的函数作为 Knative 服务。
下面我们介绍怎么利用knative开发函数功能。
1、Function 模版
Knative Functions 提供了可用于创建基本函数的模板,方法是在运行创建命令时启动函数项目样板。 模板允许您选择函数的语言和调用格式。以下模板可用于 CloudEvent 和 HTTP 调用,支持多种语言:
2、Function Golang 语言开发指南
通过 func CLI命令,创建Go project. HTTP 和 Event 函数都是相同结构.
❯ func create -l go fn
Project path: /home/developer/projects/fn
Function name: fn
Runtime: go
❯ tree fn
├── README.md
├── func.yaml
├── go.mod
├── go.sum
├── handle.go
└── handle_test.go
详细用法:
1) func.yaml 是Go project入库文件. 他配置 Go project资源.
2)构建Go function 容器镜像
通过构建Function的容器镜像
❯ func build
我们可以部署Function的容器到本地k3s或 Kubernetes集群。
❯ func run
Functions 可以构建HTTP 服务. 所以,我们可以在浏览器,或通过curl工具对Functions 服务测试。
返回:
{"ok":true}.
3)部署 function 到集群
func deploy 可以部署到远端的k3s或 Kubernetes集群。
❯ func deploy
4)检查 function URL:
❯ func info