帮助文档 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
帮助文档 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 弹性容器实例 ECI
  4. 操作指南
  5. Knative
  6. Knative服务管理
  7. 配置保留实例

配置保留实例

  • Knative服务管理
  • 发布于 2025-04-15
  • 0 次阅读
文档编辑
文档编辑

在应用没有流量时,社区Knative默认将应用实例数缩容至零以降低成本,从而导致应用重新启动时会经历较长的冷启动时间。如果您的应用对冷启动延时较为敏感,推荐您使用ACK Serverless Knative提供的保留实例功能,保留一个低规格的突发性能实例,平衡好使用成本和启动时长。

为什么使用保留实例

社区Knative策略

在应用没有请求时,社区Knative默认将应用实例数缩容至零个,以降低常驻实例的运行成本。等待请求到来时,应用会被重新分配一个实例,需要经历IaaS资源的分配与调度、应用镜像的拉取、应用启动等环节。而应用镜像大小以及应用启动时长与您的业务强关联,ACK可干预程度小。社区Knative的做法虽然降低了成本,但会让应用在启动时会经历一个冷启动过程,有较长的延时。

ACK Serverless Knative策略

如果您想降低Knative使用成本而不引入冷启动,您可以使用ACK Serverless Knative提供的保留实例来平衡成本和冷启动时长。与社区Knative不同的是,在应用没有流量时,ACK Serverless Knative默认不会将应用实例数缩容至零个,而会保留一个低规格、低成本实例。

在应用没有流量时,您可以使用保留实例替换默认的计算型实例。当第一个请求到来时,保留实例将提供服务,并同时触发默认规格实例的扩容。当默认规格实例扩容完成后,后续新请求将全部转发至默认规格实例,保留实例等待接收到的请求处理完成后自动下线。两种实例类型的无缝替切换能够帮您更好地平衡成本、效率和启动时延。

image

为什么使用突发性能实例作为保留实例

阿里云ECI提供了突发性能实例。突发性能实例通过CPU积分来保证实例的计算性能,适用于平时CPU使用率低,但偶发CPU使用率飙升的场景。突发性能实例创建后会持续累积CPU积分,并在性能无法满足负载要求时消耗更多CPU积分来无缝提高计算性能,而不影响部署在实例上的环境和应用。相较于其他实例规格,突发性能实例的CPU使用更加灵活且成本较低。

基于突发性能实例的低成本、CPU积分等特性,ACK Serverless Knative使用其作为保留实例,默认的规格配置包括ecs.t6-c1m1.large、ecs.t5-lc1m2.small、ecs.s6-c1m2.small、ecs.t6-c1m2.large以及ecs.n1.small,均为满足1 Core 2 GB要求且价格最低的前5个规格。您可以在云产品价格页面获取所有ECI的规格和价格信息。

说明

ECI最多只能同时配置5个规格。

配置保留实例规格

您可以通过Annotation手动配置保留实例的规格,包括直接指定ECI实例规格或通过CPU和内存指定ECI规格。

  • knative.aliyun.com/reserve-instance:设置为enable,表明开启保留实例。

  • knative.aliyun.com/reserve-instance-eci-use-specs:配置保留实例的规格。

指定ECI规格列表

以下以指定ecs.t6-c1m1.large和ecs.t5-lc1m2.small规格为例。

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: hello-spec-1
spec:
  template:
    metadata:
      annotations:
        knative.aliyun.com/reserve-instance: enable
        knative.aliyun.com/reserve-instance-eci-use-specs: "ecs.t6-c1m1.large,ecs.t5-lc1m2.small"
    spec:
      containers:
        - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8

指定CPU和内存的规格

指定CPU和内存的规格后,Knative会自动根据实例价格列表搜索满足条件的规格,并使用价格最低的5个规格创建实例。以下以指定1 Core 2 GB的规格为例。

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: hello-spec-2
spec:
  template:
    metadata:
      annotations:
        knative.aliyun.com/reserve-instance: enable
        knative.aliyun.com/reserve-instance-eci-use-specs: "1-2Gi"
    spec:
      containers:
        - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8

相关文档

  • 关于突发性能实例的基本概念、工作原理等,请参见突发性能实例概述。

  • 您可以在Knative中使用性价比较高的抢占式实例,请参见使用抢占式实例。

  • 您可以在Knative中实现工作负载的自动伸缩,请参见在Knative中使用HPA、基于流量请求数实现服务自动扩缩容、基于AHPA实现定时自动扩缩容。

相关文章

快速部署Serverless应用 2025-04-15 17:15

本文以Hello World示例为您介绍如何通过Knative快速部署一个Serverless应用。 前提条件

为Knative选择网关 2025-04-15 17:15

Knative网关提供了一种灵活的方式来接入外部流量,并将这些流量路由到不同的Knative服务上。ACK Knative支持ALB、MSE、ASM、Kourier四种网关,每种网关都有其特定的优势和适用场景。本文从产品定位、产品架构、基础路由、运维能力、性能特点、支持的主流协议和可观测能力进行对比

使用Kourier网关 2025-04-15 17:15

Kourier是一个基于Envoy架构实现的轻量级网关,是Knative社区提供的开源网关实现,提供Knative Revisions流量分发,支持gRPC服务、超时和重试、TLS证书和外部认证授权等功能。 前提条件

使用ALB网关 2025-04-15 17:15

在大规模Web应用、需要精细化流量分发、需要自动弹性伸缩等对HTTP/HTTPS请求有复杂路由需求的应用中,推荐您基于ALB网关实现Knative服务的流量分发和路由。ALB是专门面向HTTP、HTTPS和QUIC等应用层负载场景的负载均衡服务,具备超强弹性及大规模七层流量处理能力。ALB网关是一款

使用ASM网关 2025-04-15 17:15

在大规模分布式系统、微服务应用流量管理等场景下,特别是已采用或计划采用Istio作为服务网格框架的业务场景中,推荐您使用ASM网关实现Knative服务的流量分发和路由。ASM网关兼容社区Istio规范,控制面组件由ACK托管,简化了服务治理,包括服务调用之间的流量路由与拆分管理、服务间通信的认证安

使用MSE网关并实现精准自动弹性 2025-04-15 17:15

在微服务架构的业务场景下,推荐您使用MSE网关实现Knative服务的流量分发和路由。MSE网关是一款全托管免运维的网关,支持实现基于请求的精准自动弹性,即精准地控制单个Pod的请求并发处理数,能够满足大规模云原生分布式应用的流量治理诉求。 前提条件 已在集群中部署Knative,请参见

目录
Copyright © 2025 your company All Rights Reserved. Powered by 博智数字服务平台.
闽ICP备08105208号-1