Réponses aux questions fréquemment posées sur CloudOps Orchestration Service (OOS).
Action d'exécution introuvable malgré la présence des ressources requises
Que faire si la génération ou le déploiement d'une application depuis un dépôt Git échoue ?
Erreur de l'API DescribeInstances : SDK.UnknownServerError ou InvalidParameter
Erreur de commande Cloud Assistant : 414 Request-URI Too Large
Erreur d'opération de l'utilisateur RAM : User has no permission to do the action: (ListTemplates)
Cause possible : L'utilisateur RAM ne dispose pas des autorisations requises.
-
Solution : Connectez-vous à la console RAM en tant qu'administrateur ou avec votre compte Alibaba Cloud. Accordez les autorisations nécessaires à l'utilisateur RAM concerné par l'erreur. Vous pouvez accorder des autorisations sur des opérations d'API spécifiques ou sur toutes les opérations d'API. Par exemple,
"Action": "oos:*"accorde des autorisations sur toutes les opérations d'API OOS. Pour plus d'informations, consultez la rubrique Contrôle d'accès au compte.{ "Statement": [ { "Effect": "Allow", "Action": "oos:*", "Resource": "*" } ], "Version": "1" }
Erreur d'opération de l'utilisateur RAM : User has no permission to do the action: (PassRole)
Cause possible : L'utilisateur RAM ne dispose pas de l'autorisation PassRole pour CloudOps Orchestration Service.
-
Solution : Connectez-vous à la console RAM avec un compte Alibaba Cloud ou un compte administrateur. Accordez l'autorisation PassRole à l'utilisateur RAM. Pour plus d'informations, consultez la rubrique Contrôle d'accès au compte.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ram:PassRole", "Resource": "*" } ] }
Erreur d'exécution de modèle : Assumes role failed. Code: EntityNotExist.Role, msg: The role not exists: acs:ram::111111:role/OOSServiceRole
Cause possible : Le rôle RAM par défaut pour OOS n'a pas été créé.
Solution : Connectez-vous à la console RAM avec un compte Alibaba Cloud ou un compte administrateur. Créez le rôle RAM par défaut OOSServiceRole pour votre service OOS. Pour plus d'informations, consultez la rubrique Accorder des autorisations RAM à OOS.
Erreur d'exécution de modèle : Assumes role failed. Code: NoPermission, msg: You are not authorized to do this action. You should be authorized by RAM
Cause possible : Le rôle RAM OOSServiceRole ne dispose pas de la stratégie d'approbation requise.
-
Solution : Connectez-vous à la console RAM avec un compte Alibaba Cloud ou un compte administrateur et ajoutez le rôle RAM OOSServiceRole. Définir les autorisations RAM pour OOS.
-
Connectez-vous à la console RAM et saisissez
OOSServiceNamedans la zone de recherche des rôles.
-
Cliquez sur Trust Policy.

-
Modifiez la stratégie.

Utilisez le contenu suivant pour la stratégie :
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "oos.aliyuncs.com" ] } } ], "Version": "1" }
-
Erreur d'exécution de modèle : Code: Forbidden.RAM, Message: User not authorized to operate on the specified resource, or this API doesn't support RAM
Cause possible : L'utilisateur RAM ou le rôle RAM ne dispose pas des autorisations pour les ressources spécifiées.
Solution : Accordez les autorisations requises à l'utilisateur RAM ou au rôle RAM. Pour plus d'informations, consultez les rubriques Interroger la stratégie RAM requise pour l'exécution du modèle, Gérer les autorisations des utilisateurs RAM et Gérer les autorisations d'un rôle RAM.
Erreur de mise à niveau temporaire de la bande passante : code: InvalidAccountStatus.NotEnoughBalance message: Your account does not have enough balance
Cause possible : Solde insuffisant du compte.
Solution : Rechargez votre compte et réessayez.
Erreur de mise à niveau temporaire de la bande passante : code: InvalidBandwidth.ValueNotSupported message: Instance upgrade bandwidth of temporary not allow less then existed
Cause possible : La bande passante spécifiée est inférieure à la bande passante actuelle.
-
Solution :
Sur la page Overview de la console OOS, recherchez les tâches de mise à niveau temporaire de la bande passante en fonction de l'ID de l'instance Elastic Compute Service (ECS). Vérifiez s'il existe une tâche de mise à niveau en double.

Si une tâche en double existe, supprimez-la.
S'il n'existe aucune tâche en double, accédez à la console ECS. Cliquez sur Instances, sélectionnez l'instance cible et vérifiez les journaux de mise à niveau dans l'onglet Operation Records.

Erreur de mise à niveau temporaire de la bande passante : code: OperationDenied.UnpaidOrder message: The specified instance has unpaid order
Cause possible : L'instance ECS comporte des commandes impayées.
Solution : Réglez les commandes en attente.
Erreur courante d'exécution de commande : runCommand loop task fail because failures exceeded MaxErrors -> runCommand execution failed, checkInvocationResult Invocation.InvocationResults.InvocationResult[].ExitCode expect in [0] but is 1
Cause possible : La commande Cloud Assistant a renvoyé un code de sortie différent de zéro.
Solution : Vérifiez la sortie et les journaux de l'exécution enfant. Pour plus d'informations, consultez la rubrique Détails de l'exécution.

Que faire si je ne trouve pas une exécution créée ?
Cause possible : L'exécution se trouve dans une autre région.
Solution : Affichez les exécutions dans toutes les régions sur la page Overview.

Comment dépanner les erreurs de commande ?
Solution : Vérifier les résultats d'exécution et résoudre les problèmes courants.
Que faire si la génération ou le déploiement d'une application depuis un dépôt Git échoue ?
Cause possible : Erreurs de code et échecs d'installation des dépendances. Vérifiez les journaux pour plus de détails.
-
Solution :
-
Échecs de génération
RemarqueLes générations ayant échoué ne créent pas d'instances ECS et n'engendrent aucun frais.
-
Affichez les journaux d'échec de la génération.

-
Modifiez le code ou ajoutez un fichier de configuration.
Modifiez le code ou ajoutez un fichier de configuration pour votre langage de programmation, puis envoyez les modifications vers le dépôt. Configurer des applications selon des langages de programmation spécifiques.
Supprimez le groupe d'applications ayant échoué et créez-en un nouveau.
-
-
Échecs de déploiement
Affichez les journaux d'échec du déploiement.
-
Corrigez le problème et redéployez.

-
Impossible d'accéder au service après le déploiement réussi de l'application
-
Écartez un délai de démarrage de l'application.
Attendez que l'application termine son démarrage. Si le service reste inaccessible, passez à l'étape suivante.
-
Connectez-vous à l'instance ECS et vérifiez si le service est en cours d'exécution :
sudo systemctl status aliyun-applicationmanagerS'il est en cours d'exécution, passez à l'étape suivante.
S'il n'est pas en cours d'exécution, vérifiez les journaux des services système pour détecter les échecs
docker run.
-
Affichez les journaux du conteneur
# Find the Docker container. sudo docker ps -a | grep applicationmanager # View container logs sudo docker logs applicationmanagerSi le conteneur Docker n'est pas en cours d'exécution, mettez à jour le code ou les fichiers de configuration pour votre langage de programmation et envoyez les modifications. Configurer des applications selon des langages de programmation spécifiques.
Dans l'onglet Overview, sous Quick Actions, cliquez sur Update Application pour redéployer.
-
-
Scénarios courants
Pour éviter les échecs de génération, déboguez les Buildpacks d'abord sur une machine locale.
Si ces méthodes ne résolvent pas le problème, soumettez un ticket ou rejoignez le groupe DingTalk pour le support de la gestion des applications (ID :
10880003624) pour envoyer vos commentaires.
-
Erreur de l'API DescribeInstances : SDK.UnknownServerError ou InvalidParameter
Cause : Le fait de transmettre plus de 100 ID d'instance à l'API DescribeInstances renvoie une erreur InvalidParameter ou SDK.UnknownServerError (414 Request-URI Too Large).
-
Solution :
-
- Name: getInstanceDescribe Action: ACS::ExecuteAPI Description: en: Query instance type Properties: Service: ECS API: DescribeInstances Parameters: InstanceIds: Fn::Jq: - All - .[].InstanceId - '{{ getInstance.instanceIds }}' Outputs: instanceIds: Type: List ValueSelector: Instances.Instance[].InstanceId -
- Name: getInstanceDescribe Description: en: Views the ECS instances. Action: ACS::SelectTargets Properties: ResourceType: ALIYUN::ECS::Instance Filters: - Type: ResourceIds ResourceIds: Fn::Jq: - All - .[].InstanceId - '{{ getInstance.instanceIds }}' Outputs: instanceIds: Type: List ValueSelector: Instances.Instance[].InstanceId
Utiliser selectTargets : remplacez le bloc de code 1 par le bloc de code 2
-
Comment afficher littéralement « table {{.Name}}\t{{.MemUsage}} » dans les modèles OOS
-
Cause : Vous souhaitez exécuter la commande suivante telle quelle :
docker stats --no-stream --format "table {{.Name}}\t{{.MemUsage}}" | sort -k2 -hr | head -n 6
Le moteur de modèle OOS traite {{}} comme des variables, ce qui provoque une erreur d'analyse.
-
Solution : Modifiez la commande comme suit :
left="{{" right="}}" docker stats --no-stream --format "table ${left}.Name${right} ${left}.MemUsage${right}" | sort -k2 -hr | head -n 6
Erreur de commande Cloud Assistant : 414 Request-URI Too Large
-
Cause : La commande dépasse la limite de 24 Ko (après encodage Base64).
Les limites sont documentées dans la rubrique RunCommand - Créer et exécuter une commande Cloud Assistant.
Solution : Stockez la commande dans un objet OSS, puis utilisez ossutil pour la télécharger et l'exécuter.