为了账号安全,请及时绑定邮箱和手机立即绑定

Serverless 工程实践 | 零基础上手 Knative 应用

标签:
设计模式

Knative简介

Knative是一款基于Kubernetes的Serverless框架。其目标是制定云原生、跨平台的Serverless编排标准。Knative通过整合容器构建(或者函数)、工作负载管理(动态扩缩)以及事件模型这三者实现其Serverless标准。

在Knative体系架构下,各角色的协作关系如下图所示。

  • 开发者是指Serverless服务的开发人员可以直接使用原生Kubernetes API基于Knative部署Serverless服务。
  • 贡献者主要是指社区的贡献者。
  • Knative可以被集成到支持的环境中,例如云厂商或者企业内部。目前,Knative是基于Kubernetes来实现的,所以可以认为有Kubernetes的地方就可以部署Knative。
  • 用户指终端用户,其通过Istio网关访问服务或者事件系统触发Knative中的Serverless服务。
  • 作为一个通用的Serverless框架,Knative由3个核心组件组成。
  • Tekton:提供从源码到镜像的通用构建能力。Tekton组件主要负责从代码仓库获取源
  • 码并编译成镜像,推送到镜像仓库。所有这些操作都是在Kubernetes Pod中进行的。
  • Eventing:提供事件的接入、触发等一整套事件管理能力。Eventing组件针对Serverless事件驱动模式做了一套完整的设计,包括外部事件源的接入、事件注册、订阅以及事件过滤等功能。事件模型可以有效地解耦生产者和消费者的依赖关系。生产者可以在消费者启动之前生成事件,消费者也可以在生产者启动之前监听事件。

image.png
在Knative体系架构下各角色的协作关系

  • Serving:管理Serverless工作负载,可以和事件很好地结合,并且提供了基于请求驱动的自动伸缩能力,而且在没有服务需要处理的时候可以缩容到零。Serving组件的职责是管理工作负载以对外提供服务。Serving组件最重要的特性就是自动伸缩的能力。目前,其伸缩边界无限制。Serving还具有灰度发布能力。

Knative部署

本节将会以在阿里云部署Kantive服务为例,详细说明如何部署Knative相关服务。
首先,登录到容器服务管理控制台,如图所示为阿里云容器服务管理控制台。
image.png
如没有集群,可以先选择创建集群,如图所示为配置与创建集群。

image.png
创建集群比较缓慢,耐心等待集群创建完成,成功之后如示意图所示。

image.png
进入集群之后,选择左侧的“应用”,找到“Knative”并点击“一键部署”,如图所示。

image.png
​稍等片刻,Knative安装完成之后,可以看到核心组件已经处于“已部署”状态,如图所示。
image.png
​至此,我们完成了Knative的部署。

体验测试

首先需要创建一个EIP,并将其绑定到API Server服务上,如图所示为API Server绑定EIP。
image.png
完成之后,进行Serverless应用的测试。选择应用中的“Kantive应用”,并且在服务管理中选择“使用模板创建”,如图快速创建示例应用所示。
image.png创建完成之后,可以看到控制台已经出现一个Serverless应用,如图所示为示例应用创建成功。
image.png此时,我们可以点击应用名称查看该应用的详情,如图所示为查看示例应用详情。
image.png
为了便于测试,可以在本地设置Host:
​101.200.87.158 helloworld-go.default.example.com

设置完成之后,在浏览器中打开系统分配的域名,可以看到已经输出预期的结果,如图所示:浏览器测试示例应用。
image.png
至此,我们完成了一个基于Knative的Serverless应用的部署和测试。

此时,我们还可以通过CloudShell进行集群的管理等。在集群列表页面,选择通过CloudShell进行管理,如图集群管理列表所示。
image.png通过CloudShell管理已创建的集群,如图CloudShell窗口。
image.png
执行指令:

kubectl get knative

可以看到,刚部署的Knative应用,如图CloudShell查看Knative应用所示。
image.png

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消