Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Políticas personalizadas de alocação de custos

Última atualização: Jun 27, 2026

Além das estratégias padrão de alocação de custos, o conjunto de gerenciamento de custos permite criar políticas personalizadas de contabilidade de custos. Para definir sua própria lógica de chargeback para custos de recursos em nuvem, crie um arquivo de configuração que defina preços personalizados para os recursos. Isso ajuda a alinhar os dados de custos mais estreitamente à lógica do seu negócio.

Casos de uso

A precificação personalizada oferece controle refinado sobre seus custos de TI. Os casos de uso comuns incluem:

  • Uma equipe de operações interna adquire recursos de computação subjacentes em grande volume e os revende para diferentes equipes de negócios.

  • Normalização de custos no nível de negócios, eliminando variações de preço resultantes do agendamento de pods idênticos em nós com especificações diferentes.

  • Implementação de precificação diferenciada, incluindo o limite de recursos no cálculo do preço unitário do pod.

Para atender a esses cenários, o conjunto de gerenciamento de custos fornece um recurso de modelo de precificação personalizada. Edite um modelo para configurar o preço unitário de cada recurso de um pod, que são então agregados para determinar o custo personalizado do pod.

Nota

Atualmente, o custo personalizado de um pod está disponível apenas por meio da API. Após ativar e configurar a precificação personalizada, recupere o custo no campo customCost na resposta da API. Para obter detalhes sobre como usar a API, consulte Recuperar dados de custos por API.

Pré-requisitos

Etapa 1: Ativar precificação personalizada para cost-exporter

  1. Faça logon no ACK console. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique em nome do seu cluster. No painel de navegação à esquerda, clique em Workloads > Deployments.

  3. No topo da página, alterne o namespace para kube-system. Na coluna Actions da lista de Deployments, clique em More > View in YAML para ack-cost-exporter. Na seção command, adicione '--enable-custom-price=true' para ativar o recurso de preço personalizado. Em seguida, clique em Update.

    spec:
            containers:
            - command:
                - /root/alibaba-cloud-price-exporter
                - '--listen-address=:9091'
                - '--ali-user-id=1251182063904492'
                - '--cluster-id=c66b9e33984194a219813f6a7d402cdba'
                - '--region-id=cn-hangzhou'
                - '--cluster-type=ManagedKubernetes'
                - '--cluster-profile=Default'
                - '--enable-custom-price=true'
              env:
                - name: DefaultIDCPricePerCPUCoreHour
                  value: '0.2'

Etapa 2: Configurar o modelo de precificação

Procedimento

  1. Crie um arquivo chamado price-template.yaml com o seguinte conteúdo de exemplo.

    Importante
    • Os campos sob o campo spec em um modelo são opcionais. Se todos os campos configurados em spec corresponderem aos metadados do Pod, o Pod será considerado compatível com o modelo. Um modelo com spec vazio pode corresponder a todos os Pods.

    • A correspondência dos modelos segue uma ordem específica. Caso um pod corresponda a vários modelos no arquivo YAML, o sistema usa o primeiro modelo correspondente para calcular o custo do pod.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: price-template
      namespace: kube-system
    data:
      template.yaml: |
        - name: template-nginx
          spec:
            labelSelector:
              app: nginx
            namespaceSelector:
              - default
              - kube-system
            resource:
              cpu: 500m
              memory: 512Mi
              cpu-overcommit-ratio: 2
              memory-overcommit-ratio: 2
          price:
            cpu: 0.2
            memory: 0.03
        - name: template-default
          price:
            cpu: 0.1
            memory: 0.02

    Este modelo de precificação especifica as seguintes regras:

    • O modelo template-nginx aplica-se a pods que atendem a todas as condições a seguir:

      • O rótulo contém app:nginx

      • O pod está no namespace default ou kube-system.

      • A solicitação de CPU é 500m e o limite é 1 Core.

      • A solicitação de memória é 512 MiB e o limite é 1 GiB.

    • Todos os outros pods no cluster usam o modelo template-default.

    A tabela a seguir descreve os parâmetros.

    Parâmetro

    Descrição

    name

    Nome do modelo de precificação.

    spec.labelSelector

    Mapa de pares chave-valor. Um pod é considerado compatível se tiver todos os rótulos especificados neste seletor.

    spec.namespaceSelector

    Lista de namespaces. O namespace do pod deve estar nesta lista para haver correspondência.

    spec.resource.cpu

    Solicitação de CPU do pod.

    spec.resource.memory

    Solicitação de memória do pod.

    spec.resource.cpu-overcommit-ratio

    Taxa de overcommit de CPU do pod, calculada como limite de CPU / solicitação de CPU.

    spec.resource.memory-overcommit-ratio

    Taxa de overcommit de memória do pod, calculada como limite de memória / solicitação de memória.

    price.cpu

    Preço unitário da CPU, medido em custo por núcleo-hora.

    price.memory

    Preço unitário da memória, medido em custo por GiB-hora.

  2. Execute o comando a seguir para criar o ConfigMap price-template no namespace kube-system e aplicar sua configuração de precificação personalizada.

    kubectl apply -f price-template.yaml -n kube-system

Documentos relacionados