Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Configure reserved instances for Knative Services to reduce cold start latency

Última atualização: Jun 27, 2026

Aplicações com inicialização lenta — como serviços Java ou cargas de trabalho de inferência de IA — beneficiam-se do recurso de instância reservada do ACK Serverless Knative, que mantém uma instância de baixo custo sempre ativa. Isso garante atendimento imediato à primeira requisição após um período de inatividade, sem a espera do cold start.

Como funciona

Por padrão, o Knative reduz um Serviço para zero pods quando o tráfego cessa. Ao receber uma nova requisição, o sistema precisa agendar recursos, baixar a imagem e iniciar a aplicação antes de responder. Esse processo pode levar vários segundos.

Ao ativar uma instância reservada, o comportamento de redução para zero muda:

  1. O tráfego cessa — O Serviço Knativo faz scale in, mas uma instância reservada permanece online.

  2. A primeira requisição chega — Duas ações ocorrem simultaneamente:

    • O sistema roteia a requisição para a instância reservada, garantindo atendimento imediato.

    • O Knative cria instâncias com especificação padrão para assumir o tráfego contínuo.

  3. Transferência de tráfego — Assim que a primeira instância padrão fica pronta, todas as requisições subsequentes são direcionadas a ela.

  4. Limpeza — Após processar a requisição inicial, o sistema encerra a instância reservada automaticamente.

image

Pré-requisitos

Antes de começar, verifique se você tem:

Ative instâncias reservadas

Adicione as seguintes anotações ao manifesto do seu Serviço Knative para ativar o recurso:

Anotação

Descrição

knative.aliyun.com/reserve-instance: "enable"

Ativa o recurso de instância reservada

knative.aliyun.com/reserve-instance-type: <type>

Define o tipo de instância. Valores suportados: eci (padrão), ecs, acs

Instâncias reservadas permanecem em execução continuamente e geram custos mesmo sem tráfego. Consulte Faturamento para mais detalhes.

Escolha um tipo de instância

Use a tabela abaixo para selecionar o tipo de instância adequado à sua carga de trabalho:

Tipo de instância

Mais indicado para

Requer

ECI (padrão)

Cargas serverless de uso geral; sem necessidade de gerenciar nós

ACK Virtual Node

ACS

Cargas que exigem controle refinado sobre classe de computação e níveis de qualidade

ACK Virtual Node

ECS

Cargas com GPU ou que demandam um tipo específico de instância ECS

Um nó ECS compatível

Na dúvida sobre qual tipo usar, comece com ECI. Ele atende à maioria dos cenários de uso geral sem exigir configurações adicionais além do ACK Virtual Node.

Configure instâncias reservadas ECI

Elastic Container Instance (ECI) é o tipo padrão de instância reservada. Use a anotação knative.aliyun.com/reserve-instance-eci-use-specs para especificar o tamanho do recurso — seja por tipo de instância ou por CPU e memória.

Especifique por tipo de instância

O exemplo a seguir define ecs.t6-c1m1.large e ecs.t5-lc1m2.small como tipos de instância candidatos:

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

Especifique por CPU e memória

Caso não precise de um tipo específico de instância, defina a CPU e a memória necessárias. O exemplo abaixo especifica uma instância de 1 núcleo e 2 GiB:

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

Configure instâncias reservadas ACS

As instâncias reservadas do Alibaba Cloud Container Compute Service (ACS) permitem especificar classes de computação e níveis de qualidade. Para usar ACS, instale o ACK Virtual Node e adicione a anotação knative.aliyun.com/reserve-instance-type: acs.

Especifique por classe e qualidade de computação

Use knative.aliyun.com/reserve-instance-acs-compute-class para definir a classe de computação e knative.aliyun.com/reserve-instance-acs-compute-qos para definir a qualidade de computação. Ambas as anotações são opcionais.

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: helloworld-go
spec:
  template:
    metadata:
      annotations:
        knative.aliyun.com/reserve-instance: enable
        knative.aliyun.com/reserve-instance-type: acs
        # (Optional) Compute class for the ACS pod
        knative.aliyun.com/reserve-instance-acs-compute-class: "general-purpose"
        # (Optional) Compute quality for the ACS pod
        knative.aliyun.com/reserve-instance-acs-compute-qos: "default"
    spec:
      containers:
      - image: registry-vpc.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
        env:
        - name: TARGET
          value: "Knative"

Especifique por CPU e memória

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: helloworld-go-resource
spec:
  template:
    metadata:
      annotations:
        knative.aliyun.com/reserve-instance: enable
        knative.aliyun.com/reserve-instance-type: acs
        knative.aliyun.com/reserve-instance-cpu-resource-request: "1"
        knative.aliyun.com/reserve-instance-memory-resource-request: "2Gi"
    spec:
      containers:
      - image: registry-vpc.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
        env:
        - name: TARGET
          value: "Knative"

Configure instâncias reservadas ECS

Use um tipo de instância ECS de menor custo para reduzir despesas durante ociosidade. Instâncias reservadas ECS são especialmente úteis para cargas de trabalho com GPU.

Cargas de trabalho com GPU

O exemplo abaixo configura ecs.gn6i-c4g1.xlarge como uma instância reservada GPU de baixa especificação para um serviço de inferência Qwen. A instância padrão utiliza uma GPU completa; já a instância reservada usa uma especificação menor de GPU para atender à primeira requisição com custo reduzido.

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  labels:
    release: qwen
  name: qwen
  namespace: default
spec:
  template:
    metadata:
      annotations:
        autoscaling.knative.dev/metric: "concurrency"
        # Enable and configure an ECS reserved instance. You can configure one or more instance types.
        knative.aliyun.com/reserve-instance: enable
        knative.aliyun.com/reserve-instance-type: ecs
        knative.aliyun.com/reserve-instance-ecs-use-specs: ecs.gn6i-c4g1.xlarge
      labels:
        release: qwen
    spec:
      containers:
      - command:
        - sh
        - -c
        - python3 -m vllm.entrypoints.openai.api_server --port 8080 --trust-remote-code
          --served-model-name qwen --model /mnt/models/Qwen-7B-Chat-Int8 --gpu-memory-utilization
          0.95 --quantization gptq --max-model-len=6144
        image: kube-ai-registry.cn-shanghai.cr.aliyuncs.com/kube-ai/vllm:0.4.1
        imagePullPolicy: IfNotPresent
        name: vllm-container
        resources:
          # Resource configuration for the standard instance
          limits:
            cpu: "16"
            memory: 60Gi
            nvidia.com/gpu: "1"
          requests:
            cpu: "8"
            memory: 36Gi
            nvidia.com/gpu: "1"
        volumeMounts:
        - mountPath: /mnt/models/Qwen-7B-Chat-Int8
          name: qwen-7b-chat-int8
      volumes:
      - name: qwen-7b-chat-int8
        persistentVolumeClaim:
          claimName: qwen-7b-chat-int8-dataset

Especifique por CPU e memória

Este exemplo define uma instância reservada ECS com 1 núcleo e 2 GiB:

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: helloworld-resource
spec:
  template:
    metadata:
      annotations:
        knative.aliyun.com/reserve-instance: enable
        knative.aliyun.com/reserve-instance-type: ecs
        knative.aliyun.com/reserve-instance-cpu-resource-request: "1"
        knative.aliyun.com/reserve-instance-cpu-resource-limit: "1"
        knative.aliyun.com/reserve-instance-memory-resource-request: "2Gi"
        knative.aliyun.com/reserve-instance-memory-resource-limit: "2Gi"
    spec:
      containers:
      - image: registry-vpc.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
        env:
        - name: TARGET
          value: "Knative"

Configure um pool de instâncias reservadas

Uma única instância reservada atende à primeira requisição após um período de inatividade. Para serviços que recebem picos repentinos de tráfego regularmente, expanda essa capacidade para um pool definindo o número de réplicas com knative.aliyun.com/reserve-instance-replicas.

O exemplo a seguir cria um pool com 3 instâncias de baixa especificação:

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: hello-reserve-pool
spec:
  template:
    metadata:
      annotations:
        knative.aliyun.com/reserve-instance: enable
        knative.aliyun.com/reserve-instance-replicas: "3"
        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

Aplicação em produção

Escolha o tipo de instância de menor custo que execute sua aplicação com confiabilidade e atenda a pelo menos uma requisição. A instância reservada só precisa lidar com o tráfego durante o breve intervalo antes que as instâncias padrão fiquem prontas — ela não precisa ter a mesma especificação da instância padrão.

Use um pool reservado para serviços com altos picos de tráfego. Se o seu serviço recebe aumentos súbitos de tráfego, configure múltiplas réplicas usando knative.aliyun.com/reserve-instance-replicas para absorver a carga inicial de forma mais eficaz.

Considere o faturamento contínuo ao dimensionar instâncias reservadas. Instâncias reservadas geram custos o tempo todo, inclusive durante períodos ociosos sem tráfego. Use o menor tipo de instância capaz de processar uma única requisição para manter os custos de ociosidade baixos.

Faturamento

Instâncias reservadas permanecem em execução continuamente e geram custos, inclusive durante períodos sem tráfego. Consulte a documentação de faturamento correspondente a cada tipo de instância:

Próximos passos