Execute o Argo Workflows em escala no ECI serverless. Otimize os parâmetros do cluster Kubernetes para agendamento elástico eficiente e use instâncias preemptíveis para reduzir custos.
Pré-requisitos
Verifique se você atende aos seguintes requisitos:
Distributed Cloud Container Platform for Kubernetes (ACK One) is activated.
Alibaba Cloud CLI versão 3.0.159 ou posterior instalada e credenciais configuradas
Política AliyunAdcpFullAccess concedida ao usuário RAM
-
Utilitário
jqinstalado (necessário para as etapas da CLI):macOS:
brew install jqCentOS:
yum install jqUbuntu:
apt-get install jq
Criar um cluster de workflow
Usar o console
Faça login no console do ACK One.
-
Na página Workflow Cluster, clique em Create Workflow Cluster. Configure os parâmetros a seguir e clique em Create.
Parâmetro Descrição Cluster Name De 1 a 63 caracteres, incluindo letras, dígitos, sublinhados ( _) e hifens (-). Deve começar com uma letra.Region Região de implantação do cluster. VPC VPC do cluster. vSwitch vSwitch na VPC selecionada. SLB Instance for API Server Configuração automática. O sistema cria uma instância slb.s2.small do Server Load Balancer (SLB). A exclusão dessa instância torna o servidor de API inacessível. Consulte Visão geral de faturamento . Create and Associate EIP Define a criação de um Elastic IP Address (EIP) para expor o servidor de API à internet. Não é possível desassociar o EIP posteriormente, pois clusters filhos podem já usar o endpoint de acesso público da frota. Se desativado, o servidor de API fica inacessível pela internet. Consulte Visão geral de faturamento. Enable Collection of Operation Logs and Auditing Logs Ativa o Simple Log Service (SLS) e cria o serviço k8s-log-{ClusterID} para coletar logs do kube-apiservere dokube-controller-managerpara auditoria. Consulte Visão geral de faturamento.
Usar a Alibaba Cloud CLI
-
Defina as variáveis de ambiente. Substitua os espaços reservados pelos IDs dos seus recursos.
export REGION_ID=cn-zhangjiakou export VPC_ID=<your-vpc-id> export VSWITCH_IDS='["<vsw-id-1>","<vsw-id-2>"]' export CLUSTER_NAME=workflow1 -
Configure a região da CLI e crie o cluster de workflow.
Parâmetro
Obrigatório
Descrição
ProfileSim
Defina como
XFlow.RegionIdSim
Região de implantação do cluster.
VpcIdSim
ID da VPC.
VSwitchesSim
Array JSON com os IDs dos vSwitches. Use zonas diferentes para garantir alta disponibilidade.
NameNão
Nome do cluster.
IsEnterpriseSecurityGroupSim
Defina como
truepara usar um grupo de segurança avançado.ApiServerPublicEipNão
Defina como
truepara expor o servidor de API via EIP.aliyun configure set --region $REGION_ID aliyun adcp CreateHubCluster \ --Profile XFlow \ --RegionId $REGION_ID \ --VpcId $VPC_ID \ --VSwitches "$VSWITCH_IDS" \ --Name $CLUSTER_NAME \ --ApiServerPublicEip true \ --IsEnterpriseSecurityGroup trueExemplo de saída:
{ "ClusterId": "c1234abcd...", "RequestId": "A1B2C3D4...", "TaskId": "T9876..." }Salve o valor de
ClusterIdpara usar nas próximas etapas.export CLUSTER_ID=<your-cluster-id> -
Aguarde até que o cluster atinja o estado
running.aliyun adcp DescribeHubClusterDetails --ClusterId $CLUSTER_ID | jq .Cluster.ClusterInfoRepita o comando até que o status exiba
running. -
Gere e exporte o arquivo kubeconfig.
aliyun adcp DescribeHubClusterKubeconfig --ClusterId $CLUSTER_ID \ | jq -r .Kubeconfig \ | tee ack-argo-workflow-kubeconfig export KUBECONFIG=ack-argo-workflow-kubeconfigAgora, tanto o
kubectlquanto a CLI do Argo apontam para este cluster por padrão.
Excluir um cluster de workflow
Exclua todos os workflows, pods e instâncias ECI do cluster antes de excluí-lo.
Usar o console
Faça login no console do ACK One.
Selecione o cluster a excluir na lista suspensa.
Na página Workflow Cluster, clique em Delete Workflow Cluster. Clique em OK para confirmar.
Usar a Alibaba Cloud CLI
-
Desative o Argo Server e exclua as instâncias SLB e ECI associadas.
aliyun adcp UpdateHubClusterFeature --ArgoServerEnabled false --ClusterId $CLUSTER_ID -
Exclua o cluster de workflow.
aliyun adcp DeleteHubCluster --ClusterId $CLUSTER_ID