Use a CLI do Alibaba Cloud para atualizar as atribuições de vSwitch, o modo de agendamento, as configurações do ConfigMap e as cotas de elastic container instance (ECI) do seu cluster de workflow.
Pré-requisitos
Antes de começar, verifique se você tem:
A CLI do Alibaba Cloud 3.0.172 ou posterior instalada e credenciais configuradas. Consulte Instale a CLI do Alibaba Cloud e Configure credenciais.
O processador de JSON
jqinstalado. Consulte Baixe o jq.
Especifique vSwitches para o cluster de workflow
Atribuir vários vSwitches em zonas diferentes permite que o cluster de workflow crie elastic container instances em diversas zonas. O cluster distribui as cargas de trabalho entre as zonas para balanceamento de carga. Se houver indisponibilidade de instâncias em uma zona, o cluster tentará automaticamente outra.
Limites:
Todos os vSwitches devem pertencer à mesma virtual private cloud (VPC).
Você pode especificar até 10 vSwitches.
-
Consulte os vSwitches usados atualmente pelo cluster de workflow:
aliyun adcp DescribeHubClusterDetails --ClusterId <cluster-id> | jq .Cluster.WorkflowConfig.WorkflowUnits -
Atualize a lista de vSwitches. Inclua os vSwitches existentes e os novos:
ImportanteSempre inclua os vSwitches originais no comando. A omissão remove esses vSwitches do cluster.
aliyun adcp UpdateHubClusterFeature --VSwitches "[\"vsw-xxx\",\"vsw-xxx\",\"vsw-xxx\"]" --ClusterId <cluster-id>
Defina o modo de agendamento
Os clusters de workflow oferecem dois modos de agendamento. Escolha conforme seus requisitos de custo e confiabilidade.
|
Modo |
Descrição |
Tipo de instância |
Mais indicado para |
|
Priorização de inventário |
Modo padrão. Cria elastic container instances com pagamento conforme o uso. |
Pagamento conforme o uso |
Cargas de trabalho previsíveis que exigem alta disponibilidade |
|
Priorização de custo |
Cria elastic container instances preemptíveis com custo reduzido. |
Preemptível |
Cargas de trabalho em lote tolerantes a falhas e sensíveis a custos |
Modo de priorização de inventário
aliyun adcp UpdateHubClusterFeature --WorkflowScheduleMode "stock-optimized" --ClusterId <cluster-id>
Modo de priorização de custo
Instâncias de elastic container preemptíveis podem ser recuperadas antes da conclusão de um workflow, causando possíveis falhas. Para aumentar a taxa de sucesso na criação de instâncias, especifique vários tipos de instância e zonas.
Defina o modo de priorização de custo com um limite de preço:
aliyun adcp UpdateHubClusterFeature --WorkflowScheduleMode "cost-optimized" --PriceLimit "0.10" --ClusterId <cluster-id>
Defina o modo de priorização de custo sem limite de preço (o cluster faz lances pelo preço de mercado atual):
aliyun adcp UpdateHubClusterFeature --WorkflowScheduleMode "cost-optimized" --PriceLimit "" --ClusterId <cluster-id>
Se as instâncias preemptíveis estiverem esgotadas e nenhum limite de preço for definido, o cluster usará instâncias com pagamento conforme o uso como alternativa.
Parâmetros:
|
Parâmetro |
Obrigatório |
Descrição |
|
|
Sim |
Modo de agendamento. Valores válidos: |
|
|
Não |
Limite máximo de preço por hora por vCore. Unidade: USD/hora. Aplica-se apenas quando |
Funcionamento do limite de preço:
O limite aplica-se por vCore e por 4 GiB de memória. Por exemplo, com um limite de USD 0,10/hora:
|
Recursos do Pod |
Cálculo |
Preço máximo por hora |
|
2 vCores, 4 GiB |
0,10 × 2 + 0,10 × (4 / 4) |
USD 0,30/hora |
|
4 vCores, 32 GiB |
0,10 × 4 + 0,10 × (32 / 4) |
USD 1,20/hora |
Configure o workflow-controller-configmap
O ConfigMap workflow-controller-configmap permite personalizar o comportamento do Argo Workflow, incluindo:
Descarregamento de status de workflows grandes do etcd para PostgreSQL ou MySQL
Arquivamento de workflows concluídos no PostgreSQL ou MySQL
Ajuste nas configurações de coleta de lixo de pods
O ConfigMap pertence ao namespace nomeado com o ID do cluster.
Não exclua os seguintes parâmetros da seção
podMetadata. A remoção interrompe o agendamento de ECI no cluster de workflow.
podMetadata:
labels:
workflow.xflow.aliyun: xflow
annotations:
k8s.aliyun.com/eci-auto-imc: "true"
k8s.aliyun.com/eci-fail-strategy: "fail-fast"
Gerencie cotas de elastic container instance
Por padrão, cada conta Alibaba Cloud pode usar até 1.000 vCores para elastic container instances.
Visualize sua cota: Acesse a página Privileges and Quotas no console Elastic Container Instance.
Solicite aumento de cota: Envie uma solicitação no console Quota Center. Para detalhes e limites de cota, consulte Limites de elastic container instances.