开发者学堂课程【5分钟玩转阿里云容器服务:容器弹性—使用 Knative on ACK 实现基于请求的自动弹性】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1038/detail/15621
容器弹性—使用 Knative on ACK 实现基于请求的自动弹性
内容介绍:
一.Knative
二.部署 Knative 并演示其自动弹性的能力
一.Knative
Knative 是居于 Kubernetes 上提供了一款开源 Serverless 应用框架,帮助用户部署和管理现代化的 Serverless 工作负载,打造企业级的 Serverless 平台。
阿里云 Knative 在社区云原生的 Knative 之上,与阿里云资源体系进行了全方位的整合,提供更为丰富的能力以及云产品级别的支持,优势如下:
- 完全进入社区 Knative
- 与 AHPA 弹性预测能力结合,增强弹性
- 支持 ALB 网关,实现 Knative 网关全托管
- 与阿里云其他产品进行深度融合,包括如下:
(1)消息中间件:MNS、Kafka、RocketMQ
(2)弹性容器实例 ECI
(3)对 Arms-Promethues 与日志服务进行深度集成,可观测性提高
二.部署 Knative 并演示其自动弹性的能力
Knative 支持 ACK、ASK 集群,选择 ACK 集群进行部署,进入集群详情,点击应用,选择 Knative ,点击部署 Knative,部署完成如下图所示。
进入组件管理,刷新后可以看到当前部署的 Knative 核心组件以及网关。
1、创建 Knative 服务:选择服务管理,点击创建服务
(1)服务名称:helloworld-go
(2)镜像名称:registry-vpc.cn-beijing.aliyuncs.com/Knative- sample/helloworld-go(选择测试镜像)
(3)镜像版本:73fbdd56
进行高级设置,设置并发数
(4)请求最大并发数:5
请求最大并发数即每个 Pod 最大能处理的请求并发数,后续进行压测时可以看到其基于并发数的扩缩容。
点击创建,创建完成
查看应用详情并访问
执行 curl -H “host: helloworld-go.default.example.com”http://39.105.124.171 后,访问成功。
2、压测:
执行 ./hey -z 30s -c 100
-host:helloworld-go.default.example.com”
3、http://39.105.124.171 (持续30秒,并发数100)
执行效果:继续并发自动进行扩缩容