Tous les produits
Search
Centre de documentation

:Ajouter manuellement une instance existante à un groupe de nœuds spécifique

Dernière mise à jour :Aug 11, 2026

Appelez l'opération DescribeClusterAttachScripts pour ajouter manuellement une instance existante à un cluster Container Service for Kubernetes (ACK) spécifié. Cette opération renvoie un script exécutable unique. Exécutez ce script sur l'instance existante pour l'ajouter en tant que nœud au cluster ACK spécifié.

Débogage

OpenAPI Explorer calcule automatiquement la valeur de signature. Nous vous recommandons d'utiliser OpenAPI Explorer pour appeler cette opération. OpenAPI Explorer génère dynamiquement des exemples de code pour différents SDK.

Syntaxe de la requête

POST /clusters/ClusterId/attachscript HTTP/1.1 
Content-Type:application/json
{
  "nodepool_id" : "String",
  "format_disk" : Boolean,
  "keep_instance_name" : Boolean,
  "rds_instances" : [ "String" ],
  "arch" : "String",
  "options" : "String"
}

Paramètres de la requête

Tableau 1. Paramètres du chemin de la requête
Paramètre Type Obligatoire Exemple Description
ClusterId String Oui ca375a93a30474552ad2a0ebe183e****

ID du cluster ACK.

Tableau 2. Paramètres du corps de la requête
Paramètre Type Obligatoire Exemple Description
nodepool_id String Non np1c9229d9be2d432c93f77a88fca0****

ID du groupe de nœuds auquel vous souhaitez ajouter le nœud existant. Ce paramètre permet d'ajouter un nœud existant à un groupe de nœuds spécifique.

Remarque Si vous ne spécifiez pas d'ID de groupe de nœuds, le nœud est ajouté au groupe de nœuds par défaut.
format_disk Boolean Non false

Indique s'il faut monter des disques de données sur l'instance existante lors de son ajout au cluster. Ajoutez des disques de données pour stocker les données et les images des conteneurs. Valeurs possibles :

  • true : monte des disques de données sur l'instance existante à ajouter. Le montage efface les données originales du disque. Sauvegardez vos données avant le montage.
  • false : ne monte pas de disques de données sur l'instance existante.

Valeur par défaut : false.

Procédure de montage d'un disque de données :

  • Si des disques de données sont déjà montés sur les instances Elastic Compute Service (ECS) et que le système de fichiers du dernier disque n'est pas initialisé, le système formate automatiquement ce disque en ext4 et le monte sur /var/lib/docker et /var/lib/kubelet.
  • Si aucun disque de données n'est monté sur l'instance ECS, le système n'achète pas de nouveau disque.
keep_instance_name Boolean Non true

Indique s'il faut conserver le nom de l'instance existante lors de son ajout au cluster. Si vous ne conservez pas le nom, l'instance reçoit le nom au format worker-k8s-for-cs-<clusterid>. Valeurs possibles :

  • true : conserve le nom de l'instance.
  • false : ne conserve pas le nom de l'instance.

Valeur par défaut : true.

rds_instances Array of String Non rm-xxx

Noms des instances ApsaraDB RDS.

arch String Non amd64

Architecture CPU du nœud. Valeurs possibles : amd64, arm et arm64.

Valeur par défaut : amd64.

Remarque Ce paramètre est obligatoire pour ajouter le nœud existant à un cluster Kubernetes géré en périphérie (edge).
options String Non {\"enableIptables\": true,\"manageRuntime\": true,\"quiet\": true,\"allowedClusterAddons\": [\"kube-proxy\",\"flannel\",\"coredns\"]}

Configurations de nœud pour l'instance existante à ajouter en tant que nœud.

Remarque Ce paramètre est obligatoire pour ajouter le nœud existant à un cluster Kubernetes géré en périphérie (edge).

Syntaxe de la réponse

HTTP/1.1 200
Content-Type:application/json

Paramètres de la réponse

Tableau 3. Paramètres du corps de la réponse
Paramètre Type Exemple Description
String "curl http://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/public/pkg/run/attach/1.12.6-aliyunedge.1/edgeadm -O edgeadm; chmod u+x edgeadm; ./edgeadm join --openapi-token=XXX --node-spec="{\"flannelIface\":\"eth0\",\"enableIptables\":true,\"assumeYes\":true,\"manageRuntime\":true,\"nodeNameStrategy\":\"hostname\",\"enabledAddons\":[\"kube-proxy\",\"flannel\",\"coredns\"]}""

Script renvoyé pour ajouter une instance existante au cluster ACK.

Exemples

Exemples de requêtes

POST /clusters/ca375a93a30474552ad2a0ebe183e****/attachscript HTTP/1.1 
Content-Type:application/json
{
  "nodepool_id" : "np1c9229d9be2d432c93f77a88fca0****",
  "format_disk" : false,
  "keep_instance_name" : true,
  "rds_instances" : [ "rm-xxx" ],
  "arch" : "amd64",
  "options" : "{\\\"enableIptables\\\": true,\\\"manageRuntime\\\": true,\\\"quiet\\\": true,\\\"allowedClusterAddons\\\": [\\\"kube-proxy\\\",\\\"flannel\\\",\\\"coredns\\\"]}"
}

Description de l'exemple de requête

When you call this operation to add an existing instance to a managed edge Kubernetes cluster, the options and arch parameters are required. The following content describes the options parameter:
{
	"options":"{
		"allowedClusterAddons": The name of the component. 
		"enableIptables": Specifies whether to enable iptables. Default value: true. 
		"flannelIface": the name of the network interface controller (NIC) used by Flannel. By default, this parameter is set to the name of the NIC that is specified in the default route entry of the node.  
		"gpuVersion": Specifies whether the node is a GPU-accelerated node. By default, this parameter is empty. Valid values: Nvidia_Tesla_T4, Nvidia_Tesla_P4, and Nvidia_Tesla_P100. 
		"manageRuntime": Specifies whether to use edgeadm to install and check the runtime. Default value: false. 
		"nodeNameOverride": Specifies how the node is named. A pair of quotation marks ("") indicates the host name is used as the node name. This is the default value. An asterisk (*) indicates that a random string that contains six characters is used as the node name.The string "*.XXX" indicates that a random string followed by a suffix is used as the node name. The random string contains six characters. 
		"quiet": Specifies whether to enable the silent installation mode. 
	}
}

Exemples de réponses réussies

Format JSON

HTTP/1.1 200 OK

Description de l'exemple de réponse

If the cluster is not a managed edge Kubernetes cluster, the following output is returned:
"curl http://aliacs-k8s-cn-chengdu.oss-cn-chengdu-internal.aliyuncs.com/public/pkg/run/attach/1.16.9-aliyun.1/attach_node.sh | bash -s -- --node-name-mode nodeip --cms-enabled --cms-version 1.3.7 --openapi-token **** --addon-names flannel,csi-plugin,csi-provisioner,logtail-ds,ack-node-problem-detector,nginx-ingress-controller,kube-flannel-ds --cpu-policy none --node-cidr-mask 26 --node-port-range 30000-32767 --runtime docker --runtime-version 19.03.5"

If the cluster is a managed edge Kubernetes cluster, the following output is returned:
"wget http://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/public/pkg/run/attach/1.12.6-aliyunedge.1/edgeadm -O edgeadm; chmod u+x edgeadm; ./edgeadm join --openapi-token=*** --node-spec="{\"flannelIface\":\"eth0\",\"enableIptables\":true,\"assumeYes\":true,\"manageRuntime\":true,\"nodeNameStrategy\":\"hostname\",\"enabledAddons\":[\"kube-proxy\",\"flannel\",\"coredns\"]}""

Codes d'erreur

Pour obtenir la liste des codes d'erreur, consultez le Centre d'erreurs de l'API.