作者|刘宇
前言:Knative 是一款基于 Kubernetes 的 Serverless 框架。其目标是制定云原生、跨平台的 Serverless 编排标准。
Knative 通过整合容器构建(或者函数)、工作负载管理(动态扩缩)以及事件模型这三者实现其 Serverless 标准。
在 Knative 体系架构下,各角色的协作关系如下图所示。
在 Knative 体系架构下各角色的协作关系
本文将会以在阿里云部署 Kantive 服务为例,详细说明如何部署 Knative 相关服务。首先,登录到容器服务管理控制台,如图所示。
阿里云容器服务管理控制台
如没有集群,可以先选择创建集群,如下图所示。
配置与创建集群
创建集群比较缓慢,耐心等待集群创建完成,成功之后如图所示。
集群创建成功示意图
进入集群之后,选择左侧的“应用”,找到 “Knative” 并点击“一键部署”,如图所示。
创建 Knative 应用
稍等片刻,Knative 安装完成之后,可以看到核心组件已经处于“已部署”状态,如图所示。
Knative 应用部署完成
至此,我们完成了 Knative 的部署。
首先需要创建一个 EIP,并将其绑定到 API Server 服务上,如下图所示。
图为 API Server 绑定 EIP
完成之后,进行 Serverless 应用的测试。选择应用中的 “Kantive 应用”,并且在服务管理中选择“使用模板创建”,如图所示。
快速创建示例应用
创建完成之后,可以看到控制台已经出现一个 Serverless 应用,如图所示。
示例应用创建成功
此时,我们可以点击应用名称查看该应用的详情,如下图所示。
查看示例应用详情
为了便于测试,可以在本地设置 Host:
101.200.87.158 helloworld-go.default.example.com
设置完成之后,在浏览器中打开系统分配的域名,可以看到已经输出预期的结果,如图所示。
浏览器测试示例应用
至此,我们完成了一个基于 Knative 的 Serverless 应用的部署和测试。
此时,我们还可以通过 CloudShell 进行集群的管理等。在集群列表页面,选择通过 CloudShell 进行管理,如图所示。
集群管理列表
通过 CloudShell 管理已创建的集群,如图所示。
CloudShell 窗口
执行指令:
kubectl get knative
可以看到,刚部署的 Knative 应用,如图所示。
CloudShell 查看 Knative 应用
关于作者:刘宇(江昱)国防科技大学电子信息专业在读博士,阿里云 Serverless 产品经理,阿里云 Serverless 云布道师,CIO 学院特聘讲师。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章