Vous pouvez appeler l'opération CreateClusterNodePool pour créer un pool de nœuds pour un cluster Container Service for Kubernetes (ACK).
Débogage
En-têtes de requête
Cette opération ne possède pas d'en-têtes de requête spécifiques et utilise uniquement les en-têtes de requête communs. Pour plus d'informations, consultez Paramètres de requête communs.
Syntaxe de la requête
POST /clusters/{ClusterId}/nodepools HTTP/1.1
Paramètres de requête
|
Paramètre |
Type |
Emplacement |
Obligatoire |
Exemple |
Description |
| ClusterId | String | Path | Oui | c61da77e8bfbc4c4c999af2b51b65**** | ID du cluster. |
| Object | Body | Non | Paramètres de la requête. |
||
| auto_scaling | Object | Body | Non | Configuration de la mise à l'échelle automatique. |
|
| enable | Boolean | Body | Oui | true | Indique s'il faut activer la mise à l'échelle automatique pour le pool de nœuds. Valeurs valides :
Valeur par défaut : |
| max_instances | Long | Body | Oui | 10 | Nombre maximal d'instances Elastic Compute Service (ECS) pouvant être créées dans le pool de nœuds. |
| min_instances | Long | Body | Oui | 1 | Nombre minimal d'instances ECS à conserver dans le pool de nœuds. |
| type | String | Body | Non | cpu | Types d'instance pouvant être utilisés pour la mise à l'échelle automatique d'un pool de nœuds. Valeurs valides :
Valeur par défaut : |
| is_bond_eip | Boolean | Body | Non | true | Ce paramètre est obsolète. Indique s'il faut associer une adresse IP élastique (EIP) au pool de nœuds. Valeurs valides :
Valeur par défaut : |
| eip_internet_charge_type | String | Body | Non | PayByBandwidth | Ce paramètre est obsolète. Méthode de facturation de l'EIP. Valeurs valides :
Valeur par défaut : |
| eip_bandwidth | Long | Body | Non | 5 | Ce paramètre est obsolète. Bande passante maximale de l'EIP. Unité : Mbit/s. |
| kubernetes_config | Object | Body | Non | Configurations du cluster. |
|
| cms_enabled | Boolean | Body | Non | true | Indique s'il faut installer l'agent CloudMonitor sur les nœuds ECS. Une fois l'agent CloudMonitor installé sur les nœuds ECS, vous pouvez consulter les informations de surveillance des instances dans la console CloudMonitor. Nous vous recommandons d'installer l'agent CloudMonitor. Valeurs valides :
Valeur par défaut : |
| cpu_policy | String | Body | Non | none | Politique de gestion du CPU des nœuds du cluster. Les politiques suivantes sont prises en charge si la version Kubernetes du cluster est 1.12.6 ou ultérieure.
Valeur par défaut : |
| labels | Array of tag | Body | Non | Libellés des nœuds d'un pool de nœuds. Vous pouvez ajouter des libellés aux nœuds du cluster. |
|
| runtime | String | Body | Oui | docker | Environnement d'exécution de conteneurs. |
| runtime_version | String | Body | Oui | 19.03.5 | Version de l'environnement d'exécution de conteneurs. |
| taints | Array of taint | Body | Non | Taints que vous souhaitez ajouter aux nœuds. |
|
| user_data | String | Body | Non | dGhpcyBpcyBhIGV4YW1wbGU= | Données définies par l'utilisateur sur le nœud. |
| node_name_mode | String | Body | Non | customized,aliyun,ip,com | Un nom de nœud personnalisé se compose d'un préfixe, d'une adresse IP de nœud et d'un suffixe.
Définissez la valeur au format customized,aliyun,ip,com. La valeur se compose de quatre parties séparées par des virgules (,). customized et ip sont des contenus fixes. aliyun est le préfixe et com est le suffixe. Exemple : aliyun.192.168.xxx.xxx.com. |
| nodepool_info | Object | Body | Non | Configuration du pool de nœuds. |
|
| name | String | Body | Oui | cluster-demo | Nom du pool de nœuds. |
| resource_group_id | String | Body | Non | rg-acfmyvw3wjmb**** | ID du groupe de ressources auquel appartient le pool de nœuds. |
| type | String | Body | Non | ess | Type de pool de nœuds. Valeurs valides :
|
| scaling_group | Object | Body | Non | Configuration du groupe de mise à l'échelle utilisé par le pool de nœuds. |
|
| auto_renew | Boolean | Body | Non | true | Indique s'il faut activer le renouvellement automatique pour les nœuds du pool de nœuds. Ce paramètre prend effet uniquement lorsque vous définissez
Valeur par défaut : |
| auto_renew_period | Long | Body | Non | 1 | Durée du renouvellement automatique. Cette propriété prend effet et est obligatoire uniquement lorsque vous définissez instance_charge_type sur PrePaid et auto_renew sur true. Si Valeur par défaut : 1. |
| data_disks | Array of data_disk | Body | Non | Configurations des disques de données que vous souhaitez attacher aux nœuds du pool de nœuds. |
|
| image_id | String | Body | Non | aliyun_2_1903_x64_20G_alibase_20200529.vhd | ID d'une image personnalisée. Par défaut, l'image fournie par ACK est utilisée. |
| instance_charge_type | String | Body | Oui | PrePaid | Méthode de facturation des nœuds du pool de nœuds. Valeurs valides :
Valeur par défaut : |
| instance_types | Array of String | Body | Oui | ecs.d1ne.2xlarge | Type d'instance. |
| key_pair | String | Body | Non | np-key-name | Nom de la paire de clés utilisée pour se connecter aux nœuds du pool de nœuds. Vous devez définir ce paramètre ou le paramètre Remarque Vous devez définir key_pair si le pool de nœuds est un pool de nœuds géré. |
| login_password | String | Body | Non | Hello1234 | Mot de passe pour la connexion SSH. Vous devez définir ce paramètre ou |
| period | Long | Body | Non | 1 | Durée de l'abonnement des nœuds du pool de nœuds. Ce paramètre prend effet et est obligatoire uniquement lorsque vous définissez Valeur par défaut : 1. |
| period_unit | String | Body | Non | Month | Cycle de facturation des nœuds du pool de nœuds. Ce paramètre est obligatoire si vous définissez instance_charge_type sur |
| platform | String | Body | Non | AliyunLinux | Version de publication du système d'exploitation. Valeurs valides :
Valeur par défaut : |
| rds_instances | Array of String | Body | Non | rds-**** | IDs des instances ApsaraDB RDS. |
| spot_strategy | String | Body | Non | NoSpot | Type d'instance préemptible. Valeurs valides :
Pour plus d'informations, consultez Instances préemptibles. |
| spot_price_limit | Array | Body | Non | Type d'instance pour les instances préemptibles et limite de prix du type d'instance. |
|
| instance_type | String | Body | Non | ecs.c6.large | Type d'instance des instances préemptibles. |
| price_limit | String | Body | Non | 0.39 | Limite de prix d'une instance préemptible. |
| scaling_policy | String | Body | Non | release | Mode de mise à l'échelle du groupe de mise à l'échelle. Valeurs valides :
Valeur par défaut : |
| security_group_id | String | Body | Non | sg-wz9a8g2mt6x5llu0**** | Spécifie l'ID du groupe de sécurité auquel vous souhaitez ajouter le pool de nœuds. Vous devez définir ce paramètre ou |
| security_group_ids | Array of String | Body | Non | sg-wz9a8g2mt6x5llu0**** | Spécifie les IDs des groupes de sécurité auxquels vous souhaitez ajouter le pool de nœuds. Vous devez définir ce paramètre ou |
| system_disk_category | String | Body | Oui | cloud_efficiency | Type de disque système. Valeurs valides :
Valeur par défaut : |
| system_disk_size | Long | Body | Oui | 120 | Taille du disque système d'un nœud. Unité : GiB. Valeurs valides : 40 à 500. |
| system_disk_performance_level | String | Body | Non | PL1 | Niveau de performance (PL) du disque système que vous souhaitez utiliser pour le nœud. Ce paramètre prend effet uniquement pour les disques ESSD.
|
| system_disk_provisioned_iops | Long | Body | Non | 1000 | IOPS prédéfinis d'un disque système. Valeurs valides : 0 à min{50 000, 1 000 × Capacité - IOPS de base}. IOPS de base = min{1 800 + 50 × Capacité, 50 000}. Ce paramètre est pris en charge uniquement lorsque |
| system_disk_bursting_enabled | Boolean | Body | Non | true | Indique s'il faut activer la fonctionnalité de burst pour les disques système. Valeurs valides :
Ce paramètre est pris en charge uniquement lorsque |
| tags | Array | Body | Non | Libellés que vous souhaitez ajouter aux instances ECS. Chaque clé doit être unique et ne peut pas dépasser 128 caractères. Ni les clés ni les valeurs ne peuvent commencer par aliyun ou acs:. Ni les clés ni les valeurs ne peuvent contenir https:// ou http://. |
|
| key | String | Body | Non | node-k-1 | Clé d'un libellé. |
| value | String | Body | Non | node-v-1 | Valeur d'un libellé. |
| vswitch_ids | Array of String | Body | Oui | vsw-wz9mfnhmssud6eicu**** | IDs des vSwitches. |
| multi_az_policy | String | Body | Non | COST_OPTIMIZED | Politique de mise à l'échelle des instances ECS pour un groupe de mise à l'échelle multi-zone. Valeurs valides :
Valeur par défaut : |
| on_demand_base_capacity | Long | Body | Non | 0 | Nombre minimal d'instances au paiement à l'utilisation à conserver dans le groupe de mise à l'échelle. Valeurs valides : 0 à 1000. Si le nombre d'instances au paiement à l'utilisation est inférieur à la valeur de ce paramètre, Auto Scaling crée de préférence des instances au paiement à l'utilisation. |
| on_demand_percentage_above_base_capacity | Long | Body | Non | 20 | Pourcentage d'instances au paiement à l'utilisation parmi les instances supplémentaires qui dépassent le nombre spécifié par |
| spot_instance_pools | Long | Body | Non | 5 | Nombre de types d'instances disponibles. Auto Scaling crée des instances préemptibles de plusieurs types d'instances disponibles au coût le plus bas. Valeurs valides : 1 à 10. |
| spot_instance_remedy | Boolean | Body | Non | false | Indique s'il faut compléter les instances préemptibles lorsque le nombre d'instances préemptibles tombe en dessous du nombre minimal spécifié. Si vous définissez la valeur sur true, Auto Scaling tente de créer une nouvelle instance préemptible lorsque le système notifie qu'une instance préemptible existante est sur le point d'être récupérée. Valeurs valides :
|
| compensate_with_on_demand | Boolean | Body | Non | true | Indique s'il faut créer automatiquement des instances au paiement à l'utilisation pour atteindre le nombre requis d'instances ECS si les instances préemptibles ne peuvent pas être créées en raison de raisons telles que le coût ou un stock insuffisant. Ce paramètre prend effet lorsque vous définissez
|
| internet_charge_type | String | Body | Non | PayByTraffic | Méthode de facturation de l'adresse IP publique. Valeurs valides :
|
| internet_max_bandwidth_out | Long | Body | Non | 5 | Bande passante sortante maximale de l'adresse IP publique du nœud. Unité : Mbit/s. Valeurs valides : 1 à 100. |
| image_type | String | Body | Non | AliyunLinux | Type d'image OS. Vous devez définir ce paramètre ou
|
| deploymentset_id | String | Body | Non | ds-bp1d19mmbsv3jf6xxxxx | ID du jeu de déploiement auquel appartiennent les instances ECS du pool de nœuds. |
| desired_size | Long | Body | Non | 0 | Nombre attendu de nœuds dans le pool de nœuds. |
| private_pool_options | Object | Body | Non | Configurations du pool de nœuds privé. |
|
| id | String | Body | Non | eap-bp67acfmxazb4**** | ID du pool de nœuds privé. |
| match_criteria | String | Body | Non | Open | Type de pool de nœuds privé. Ce paramètre spécifie le type de pool privé que vous souhaitez utiliser pour créer des instances. Un pool de nœuds privé est généré lorsqu'une assurance d'élasticité ou un service de réservation de capacité prend effet. Le système sélectionne un pool de nœuds privé pour lancer des instances. Valeurs valides :
|
| tee_config | Object | Body | Non | Configuration relative au calcul confidentiel pour le cluster. |
|
| tee_enable | Boolean | Body | Oui | true | Indique s'il faut activer le calcul confidentiel pour le cluster. |
| management | Object | Body | Non | Configuration relative à la fonctionnalité de pool de nœuds géré. |
|
| enable | Boolean | Body | Oui | false | Indique s'il faut activer la fonctionnalité de pool de nœuds géré. Valeurs valides :
|
| auto_repair | Boolean | Body | Non | false | Indique s'il faut activer la réparation automatique. Ce paramètre prend effet uniquement lorsque vous spécifiez
|
| upgrade_config | Object | Body | Non | Configurations relatives à la mise à niveau automatique. Les configurations prennent effet uniquement lorsque vous spécifiez |
|
| auto_upgrade | Boolean | Body | Non | false | Indique s'il faut activer la mise à jour automatique. Valeurs valides :
|
| surge | Long | Body | Non | 0 | Nombre de nœuds supplémentaires. |
| surge_percentage | Long | Body | Non | 0 | Pourcentage de nœuds supplémentaires par rapport aux nœuds du pool de nœuds. Vous devez définir ce paramètre ou |
| max_unavailable | Long | Body | Oui | 1 | Nombre maximal de nœuds pouvant être dans l'état Non planifiable. Valeurs valides : 1 à 1000. Valeur par défaut : 1. |
| auto_repair_policy | Object | Body | Non | Politique de réparation automatique des nœuds. |
|
| restart_node | Boolean | Body | Non | true | Indique si ACK est autorisé à redémarrer automatiquement les nœuds après l'application de correctifs pour les vulnérabilités CVE. Valeurs valides :
|
| auto_vul_fix | Boolean | Body | Non | true | Indique si ACK est autorisé à appliquer automatiquement des correctifs pour les vulnérabilités CVE. Valeurs valides :
|
| auto_vul_fix_policy | Object | Body | Non | Politique de correction automatique des vulnérabilités CVE. |
|
| restart_node | Boolean | Body | Non | true | Indique si ACK est autorisé à redémarrer automatiquement les nœuds après l'application de correctifs pour les vulnérabilités CVE. Valeurs valides :
|
| vul_level | String | Body | Non | asap,nntf | Niveaux de gravité des vulnérabilités que ACK est autorisé à corriger automatiquement. Plusieurs niveaux de gravité sont séparés par des virgules (,). |
| auto_upgrade | Boolean | Body | Non | true | Indique s'il faut activer la mise à jour automatique. Valeurs valides :
|
| auto_upgrade_policy | Object | Body | Non | Politique de mise à jour automatique. |
|
| auto_upgrade_kubelet | Boolean | Body | Non | true | Indique si ACK est autorisé à mettre à jour automatiquement le kubelet. Valeurs valides :
|
| count | Long | Body | Non | 1 | Ce paramètre est obsolète. Utilisez le paramètre desired_size à la place. Nombre de nœuds dans le pool de nœuds. |
| interconnect_mode | String | Body | Non | basic | Type de réseau du pool de nœuds edge. Ce paramètre prend effet uniquement lorsque vous définissez le paramètre
|
| interconnect_config | Object | Body | Non | Ce paramètre est obsolète. Configuration du pool de nœuds edge. |
|
| cen_id | String | Body | Non | cen-ey9k9nfhz0f******* | Ce paramètre est obsolète. ID de l'instance Cloud Enterprise Network (CEN) associée au pool de nœuds edge amélioré. |
| ccn_id | String | Body | Non | ccn-qm5i0i0q9yi******* | Ce paramètre est obsolète. ID de l'instance Cloud Connect Network (CCN) associée au pool de nœuds edge amélioré. |
| ccn_region_id | String | Body | Non | cn-shanghai | Ce paramètre est obsolète. Région à laquelle appartient l'instance CCN associée au pool de nœuds edge amélioré. |
| bandwidth | Long | Body | Non | 10 | Ce paramètre est obsolète. Bande passante du pool de nœuds edge amélioré. Unité : Mbit/s. |
| improved_period | String | Body | Non | 1 | Ce paramètre est obsolète. Durée de l'abonnement du pool de nœuds edge amélioré. La durée est mesurée en mois. |
| max_nodes | Long | Body | Non | 10 | Nombre maximal de nœuds pouvant être créés dans le pool de nœuds edge. Vous devez spécifier une valeur égale ou supérieure à 0. Une valeur de 0 indique que le nombre de nœuds dans le pool de nœuds est limité uniquement par le quota de nœuds dans le cluster. Dans la plupart des cas, ce paramètre est défini sur une valeur supérieure à 0 pour les pools de nœuds edge. Ce paramètre est défini sur 0 pour les pools de nœuds dont les types sont ess ou les pools de nœuds edge par défaut. |
Paramètres de réponse
|
Paramètre |
Type |
Exemple |
Description |
|
nodepool_id |
String |
np31da1b38983f4511b490fc62108a**** |
ID du pool de nœuds créé. |
|
task_id |
String |
T-613b19bbd160ad492800**** |
ID de la tâche. |
Exemples
Exemples de requêtes
POST /clusters/c61da77e8bfbc4c4c999af2b51b65****/nodepools HTTP/1.1
Host:cs.aliyuncs.com
Content-Type:application/json
{
"auto_scaling" : {
"enable" : true,
"max_instances" : 10,
"min_instances" : 1,
"type" : "cpu",
"is_bond_eip" : true,
"eip_internet_charge_type" : "PayByBandwidth",
"eip_bandwidth" : 5
},
"kubernetes_config" : {
"cms_enabled" : true,
"cpu_policy" : "none",
"labels" : [ {
"key" : "env",
"value" : "prod"
} ],
"runtime" : "docker",
"runtime_version" : "19.03.5",
"taints" : [ {
"key" : "key",
"value" : "value",
"effect" : "NoSchedule"
} ],
"user_data" : "dGhpcyBpcyBhIGV4YW1wbGU=",
"node_name_mode" : "aliyun.com00055test"
},
"nodepool_info" : {
"name" : "cluster-demo",
"resource_group_id" : "rg-acfmyvw3wjmb****",
"type" : "ess"
},
"scaling_group" : {
"auto_renew" : true,
"auto_renew_period" : 1,
"data_disks" : [ {
"category" : "cloud_ssd",
"size" : 40,
"encrypted" : "true",
"auto_snapshot_policy_id" : "sp-2zej1nogjvovnz4z****",
"performance_level" : "PL1"
} ],
"image_id" : "aliyun_2_1903_x64_20G_alibase_20200529.vhd",
"instance_charge_type" : "PrePaid",
"instance_types" : [ "ecs.d1ne.2xlarge" ],
"key_pair" : "np-key-name",
"login_password" : "Hello1234",
"period" : 1,
"period_unit" : "Month",
"platform" : "AliyunLinux",
"rds_instances" : [ "rds-****" ],
"spot_strategy" : "NoSpot",
"spot_price_limit" : [ {
"instance_type" : "ecs.c6.large",
"price_limit" : "0.39"
} ],
"scaling_policy" : "release",
"security_group_id" : "sg-wz9a8g2mt6x5llu0****",
"security_group_ids" : [ "sg-wz9a8g2mt6x5llu0****" ],
"system_disk_category" : "cloud_efficiency",
"system_disk_size" : 120,
"system_disk_performance_level" : "PL1",
"tags" : [ {
"key" : "node-k-1",
"value" : "node-v-1"
} ],
"vswitch_ids" : [ "vsw-wz9mfnhmssud6eicu****" ],
"multi_az_policy" : "COST_OPTIMIZED",
"on_demand_base_capacity" : 0,
"on_demand_percentage_above_base_capacity" : 20,
"spot_instance_pools" : 5,
"spot_instance_remedy" : false,
"compensate_with_on_demand" : true,
"internet_charge_type" : "PayByTraffic",
"internet_max_bandwidth_out" : 5,
"image_type" : "AliyunLinux",
"deploymentset_id" : "ds-bp1d19mmbsv3jf6xxxxx",
"desired_size" : 0
},
"tee_config" : {
"tee_enable" : true
},
"management" : {
"enable" : false,
"auto_repair" : false,
"upgrade_config" : {
"auto_upgrade" : false,
"surge" : 0,
"surge_percentage" : 0,
"max_unavailable" : 1
}
},
"count" : 1,
"interconnect_mode" : "basic",
"interconnect_config" : {
"cen_id" : "cen-ey9k9nfhz0f*******",
"ccn_id" : "ccn-qm5i0i0q9yi*******",
"ccn_region_id" : "cn-shanghai",
"bandwidth" : 10,
"improved_period" : "1"
},
"max_nodes" : 10
}
Description des exemples de requêtes
Create a node pool that has auto scaling enabled:
{
"ClusterId":"c61da77e8bfbc4c4c999af2b51b65****",
"nodepool_info":{
"name":"autoScale-demo",
"resource_group_id":"rg-acfmyvw3wjm****"
},
"scaling_group":{
"vswitch_ids":[
"vsw-wz9mfnhmssud6eic****"
],
"system_disk_category":"cloud_efficiency",
"system_disk_size":120,
"data_disks":[
],
"instance_types":[
"ecs.t6-c1m2.large"
],
"vpc_id":"vpc-wz984yvbd6lck22z3****",
"tags":[
],
"instance_charge_type":"PostPaid",
"login_password":"****",
"platform":"AliyunLinux",
"image_id":"aliyun_2_1903_x64_20G_alibase_20200529.vhd",
"rds_instances":[
],
"scaling_policy":"release"
},
"kubernetes_config":{
"cpu_policy":"none",
"cms_enabled":false,
"labels":[
{
"key":"workload_type",
"value":"cpu"
}
],
"taints":[
],
"user_data":"",
"runtime":"docker",
"runtime_version":"19.03.5"
},
"tee_config":{
"tee_enable":true
},
"auto_scaling":{
"enable":true,
"max_instances":10,
"min_instances":1,
"type":"cpu"
}
}
Exemples de réponses réussies
XML format
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateClusterNodePoolResponse>
<nodepool_id>np31da1b38983f4511b490fc62108a****</nodepool_id>
</CreateClusterNodePoolResponse>
JSON format
HTTP/1.1 200 OK
Content-Type:application/json
{
"nodepool_id" : "np31da1b38983f4511b490fc62108a****"
}
Codes d'erreur
Pour obtenir la liste des codes d'erreur, consultez Codes d'erreur de service.