Exécutez Argo Workflows à grande échelle sur ECI serverless en optimisant les paramètres du cluster Kubernetes pour une mise à l'échelle élastique efficace, et utilisez des instances préemptibles pour réduire les coûts.
Prérequis
Assurez-vous d'avoir :
Distributed Cloud Container Platform for Kubernetes (ACK One) est activé.
Alibaba Cloud CLI version 3.0.159 ou ultérieure installée et identifiants configurés
La politique AliyunAdcpFullAccess accordée à l'utilisateur RAM
-
jqinstallé (requis pour les étapes CLI) :macOS :
brew install jqCentOS :
yum install jqUbuntu :
apt-get install jq
Créer un cluster de workflows
Utiliser la console
Connectez-vous à la console ACK One.
-
Sur la page Workflow Cluster, cliquez sur Create Workflow Cluster. Configurez les paramètres suivants et cliquez sur Create.
Parameter
Description
Cluster Name
1 à 63 caractères : lettres, chiffres, traits de soulignement (
_) et tirets (-). Doit commencer par une lettre.Region
La région de déploiement.
VPC
Le VPC pour le cluster.
vSwitch
Le vSwitch au sein du VPC.
SLB Instance for API Server
Aucune configuration requise. Une instance Server Load Balancer (SLB) slb.s2.small est créée automatiquement. Sa suppression rend le serveur API inaccessible. Consultez la présentation de la facturation .
Create and Associate EIP
Indique s'il faut créer une adresse IP élastique (EIP) et exposer le serveur API à Internet. L'EIP ne peut pas être dissociée par la suite, car les clusters enfants peuvent déjà utiliser le point d'accès public de la flotte. Si cette option est désactivée, le serveur API n'est pas accessible depuis Internet. Consultez la présentation de la facturation.
Enable Collection of Operation Logs and Auditing Logs
Active Simple Log Service (SLS). Crée un service nommé k8s-log-{ClusterID} qui collecte les journaux
kube-apiserveretkube-controller-managerà des fins d'audit. Consultez la présentation de la facturation.
Utiliser Alibaba Cloud CLI
-
Définissez les variables d'environnement. Remplacez les espaces réservés par vos ID de ressources.
export REGION_ID=cn-zhangjiakou export VPC_ID=<your-vpc-id> export VSWITCH_IDS='["<vsw-id-1>","<vsw-id-2>"]' export CLUSTER_NAME=workflow1 -
Configurez la région CLI et créez un cluster de workflows.
Parameter
Required
Description
ProfileYes
Définissez sur
XFlow.RegionIdYes
La région où le cluster est déployé.
VpcIdYes
L'ID du VPC.
VSwitchesYes
Tableau JSON des ID de vSwitch. Utilisez différentes zones pour une haute disponibilité.
NameNo
Le nom du cluster.
IsEnterpriseSecurityGroupYes
Définissez sur true pour utiliser un groupe de sécurité d'entreprise.
truepour utiliser un groupe de sécurité avancé.ApiServerPublicEipNo
Définissez sur
truepour exposer le serveur API via une 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 trueExemple de sortie :
{ "ClusterId": "c1234abcd...", "RequestId": "A1B2C3D4...", "TaskId": "T9876..." }Enregistrez la valeur
ClusterIdpour les étapes suivantes.export CLUSTER_ID=<your-cluster-id> -
Attendez que le cluster atteigne l'état
running.aliyun adcp DescribeHubClusterDetails --ClusterId $CLUSTER_ID | jq .Cluster.ClusterInfoRéexécutez la commande jusqu'à ce que le statut indique
running. -
Générez et exportez un fichier kubeconfig.
aliyun adcp DescribeHubClusterKubeconfig --ClusterId $CLUSTER_ID \ | jq -r .Kubeconfig \ | tee ack-argo-workflow-kubeconfig export KUBECONFIG=ack-argo-workflow-kubeconfigkubectlet l'interface CLI Argo ciblent désormais ce cluster par défaut.
Supprimer un cluster de workflows
Supprimez tous les workflows, pods et instances ECI du cluster avant la suppression.
Utiliser la console
Connectez-vous à la console ACK One.
Sélectionnez le cluster à supprimer dans la liste déroulante.
Sur la page Workflow Cluster, cliquez sur Delete Workflow Cluster. Cliquez sur OK pour confirmer.
Utiliser Alibaba Cloud CLI
-
Désactivez Argo Server et supprimez les instances SLB et ECI associées.
aliyun adcp UpdateHubClusterFeature --ArgoServerEnabled false --ClusterId $CLUSTER_ID -
Supprimez le cluster de workflows.
aliyun adcp DeleteHubCluster --ClusterId $CLUSTER_ID