Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Cómputo
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gestión y gobernanza
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migración
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análisis
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Otros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Seguridad y cumplimiento
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Blockchain
Blockchain Service
Servicios multimedia
Media Processing Center
Video On Demand
Live
SparkRTC
Almacenamiento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Contenedores
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bases de datos
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicaciones empresariales
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribución de contenido y cómputo de borde
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluciones
SAP Cloud
High Performance Computing
Servicios para desarrolladores
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
aPaaS MacroVerse
KooPhone
KooDrive
Centro de ayuda/ MapReduce Service/ Referencia de la API/ API V1.1/ Las API de escalado automático/ Configuración de una regla de escalado automático

Configuración de una regla de escalado automático

Actualización más reciente 2023-07-28 GMT+08:00

Función

Esta API se utiliza para configurar reglas de escalado automático.

La API utilizada para la creación de clústeres y la ejecución de trabajos también se puede utilizar para crear una regla de escalado automático.

Restricciones

Ninguna

Depuración

Puede depurar esta API a través de la autenticación automática en API Explorer. API Explorer puede generar automáticamente código SDK de ejemplo y proporcionar la depuración de código SDK de ejemplo.

URI

  • Formato

    POST /v1.1/{project_id}/autoscaling-policy/{cluster_id}

  • Descripción de parámetro
    Tabla 1 Parámetros de URI

    Parámetro

    Obligatorio

    Tipo

    Descripción

    project_id

    String

    ID del proyecto. Para obtener más información sobre cómo obtener el ID del proyecto, consulte Obtención de un ID de proyecto.

    cluster_id

    String

    ID de clúster. Para obtener más información acerca de cómo obtener el ID de clúster, consulte Obtención de la información del clúster MRS.

Parámetros de solicitud

Tabla 2 Parámetros de body de solicitud

Parámetro

Obligatorio

Tipo

Descripción

node_group

String

Tipo del nodo al que se aplica una regla de escalado automático. Actualmente, solo los nodos Task admiten reglas de escalado automático, es decir, el valor de solicitud es task_node_default_group.

auto_scaling_policy

AutoScalingPolicy object

La política de escalado automático. Tabla 3 describe estos parámetros.

Tabla 3 AutoScalingPolicy

Parámetro

Obligatorio

Tipo

Descripción

auto_scaling_enable

Boolean

Si se activa la regla de escalado automático.

min_capacity

Integer

Número mínimo de nodos que quedan en el grupo de nodos.

Rango de valores: 0 a 500

max_capacity

Integer

Número máximo de nodos en el grupo de nodos.

Rango de valores: 0 a 500

resources_plans

No

List

Lista de planes de recursos. Para obtener más información, consulte Tabla 4. Si este parámetro se deja en blanco, el plan de recursos se deshabilita.

Cuando se habilita el escalado automático, se debe configurar un plan de recursos o una regla de escalado automático.

exec_scripts

No

List

Lista de scripts de automatización de escalado personalizados. Para obtener más información, consulte Tabla 5. Si este parámetro se deja en blanco, se deshabilita un script de hook.

rules

No

List

Lista de reglas de escalado automático. Para obtener más información, consulte Tabla 6.

Cuando se habilita el escalado automático, se debe configurar un plan de recursos o una regla de escalado automático.

Tabla 4 ResourcesPlan

Parámetro

Obligatorio

Tipo

Descripción

period_type

String

Tipo de ciclo de un plan de recursos. Actualmente, solo se admite el siguiente tipo de ciclo:

daily

start_time

String

Hora de inicio de un plan de recursos. El valor tiene el formato de hour:minute, lo que indica que el tiempo varía de 0:00 a 23:59.

end_time

String

Hora de finalización de un plan de recursos. El valor tiene el mismo formato que el de start_time. El intervalo entre end_time y start_time debe ser mayor o igual a 30 minutos.

min_capacity

Integer

Número mínimo de nodos conservados en un grupo de nodos en un plan de recursos.

Rango de valores: 0 a 500

max_capacity

Integer

Número máximo de nodos conservados en un grupo de nodos de un plan de recursos.

Rango de valores: 0 a 500

Tabla 5 ScaleScript

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre de un script de automatización personalizado. Debe ser único en un mismo clúster.

El valor solo puede contener dígitos, letras, espacios, guiones (-) y guiones bajos (_) y no debe comenzar con un espacio.

El valor puede contener de 1 a 64 caracteres.

uri

String

Ruta de un script de automatización personalizado. Establezca este parámetro en una ruta de acceso de bucket OBS o una ruta de VM local.

  • Ruta del bucket OBS: Ingrese una ruta de script manualmente. por ejemplo, s3a://XXX/scale.sh.
  • Ruta de acceso de VM local: introduzca una ruta de acceso de script. La ruta de acceso del script debe comenzar con una barra diagonal (/) y terminar con .sh.

parameters

No

String

Parámetros de un script de automatización personalizado.

  • Múltiples parámetros están separados por espacio.
  • Se pueden transferir los siguientes parámetros de sistema predefinidos:
    • ${mrs_scale_node_num}: Número de nodos que se agregarán o eliminarán
    • ${mrs_scale_type}: tipo de escalamiento. El valor puede ser scale_out o scale_in.
    • ${mrs_scale_node_hostnames}: Nombres de host de los nodos que se van a agregar o eliminar
    • ${mrs_scale_node_ips}: direcciones IP de los nodos a agregar o eliminar
    • ${mrs_scale_rule_name}: Nombre de la regla que activa el escalado automático
  • Otros parámetros definidos por el usuario se utilizan de la misma manera que los scripts de shell comunes. Los parámetros están separados por espacio.

nodes

Array of strings

Tipo de nodo donde se ejecuta el script de automatización personalizado. El tipo de nodo puede ser Master, Core, o Task.

active_master

No

Boolean

Si el script de automatización personalizado se ejecuta sólo en el nodo Master activo.

El valor predeterminado es false, que indica que el script de automatización personalizado puede ejecutarse en todos los nodos de Master.

action_stage

String

Hora en que se ejecuta un script.

Se admiten las siguientes cuatro opciones:

  • before_scale_out: antes de escalar horizontalmente
  • before_scale_in: antes de reducir
  • after_scale_out: después de escalar horizontalmente
  • after_scale_in: después de reducir

fail_action

String

Si se deben continuar ejecutando scripts subsiguiente y crear un clúster después de que no se ejecute la secuencia de comandos de automatización personalizada.

  • continue: Continuar para ejecutar scripts subsiguientes.
  • errorout: detener la acción.
    NOTA:
    • Se recomienda establecer este parámetro en continue en la fase de puesta en marcha para que el clúster pueda seguir siendo instalado e iniciado sin importar si el script de automatización personalizado se ejecuta correctamente.
    • La operación de reducción no se puede deshacer. Por lo tanto, se debe establecer fail_action en continue para los scripts que se ejecutan después de escalar.
Tabla 6 Regla

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre de una regla de escalado automático.

Un nombre de clúster solo puede contener entre 1 y 64 caracteres. Solo se permiten letras, dígitos, guiones (-) y guiones bajos (_).

Los nombres de regla deben ser únicos en un grupo de nodos.

description

No

String

Descripción sobre una regla de escalado automático.

Contiene un máximo de 1,024 caracteres.

adjustment_type

String

Tipo de ajuste de regla de escalado automático. Valores posibles:

  • scale_out: escalamiento horizontal de clústeres
  • scale_in: reducción de clústeres

cool_down_minutes

Integer

Tiempo de enfriamiento del clúster después de activar una regla de escalado automático, cuando no se realiza ninguna operación de escalado automático. La unidad es un minuto.

Rango de valores: 0 a 10,080. Una semana es igual a 10,080 minutos.

scaling_adjustment

Integer

Número de nodos que se pueden ajustar una vez.

Rango de valores: 1 a 100

trigger

Trigger object

Condición para activar una regla. Para obtener más información, consulte Tabla 7.

Tabla 7 Activador

Parámetro

Obligatorio

Tipo

Descripción

metric_name

String

Nombre de la métrica.

Esta condición desencadenante hace un juicio de acuerdo con el valor de la métrica.

Un nombre de métrica contiene un máximo de 64 caracteres.

metric_value

String

Umbral métrico para activar una regla

El valor del parámetro puede ser un entero o un número con dos decimales solamente.

comparison_operator

No

String

Operador lógico de juicio métrico. Valores posibles:

  • LT: inferior a
  • GT: superior a
  • LTOE: inferior o igual a
  • GTOE: superior o igual a

evaluation_periods

Integer

Número de períodos consecutivos de cinco minutos, durante los cuales se alcanza un umbral métrico

Rango de valores: 1 a 288

Parámetros de respuesta

Ninguna

Solicitud de ejemplo

Ejemplo de solicitud para configurar una regla de escalado automático

POST https://{endpoint}/v1.1/{project_id}/autoscaling-policy/{cluster_id}

{
  "node_group" : "task_node_analysis_group",
  "auto_scaling_policy" : {
    "auto_scaling_enable" : "true",
    "min_capacity" : "1",
    "max_capacity" : "3",
    "resources_plans" : [ {
      "period_type" : "daily",
      "start_time" : "9:50",
      "end_time" : "10:20",
      "min_capacity" : "2",
      "max_capacity" : "3"
    }, {
      "period_type" : "daily",
      "start_time" : "10:20",
      "end_time" : "12:30",
      "min_capacity" : "0",
      "max_capacity" : "2"
    } ],
    "exec_scripts" : [ {
      "name" : "before_scale_out",
      "uri" : "s3a://XXX/zeppelin_install.sh",
      "parameters" : "${mrs_scale_node_num} ${mrs_scale_type} xxx",
      "nodes" : [ "master_node_default_group", "core_node_analysis_group", "task_node_analysis_group" ],
      "active_master" : "true",
      "action_stage" : "before_scale_out",
      "fail_action" : "continue"
    }, {
      "name" : "after_scale_out",
      "uri" : "s3a://XXX/storm_rebalance.sh",
      "parameters" : "${mrs_scale_node_hostnames} ${mrs_scale_node_ips}",
      "nodes" : [ "master_node_default_group", "core_node_analysis_group", "task_node_analysis_group" ],
      "active_master" : "true",
      "action_stage" : "after_scale_out",
      "fail_action" : "continue"
    } ],
    "rules" : [ {
      "name" : "default-expand-1",
      "adjustment_type" : "scale_out",
      "cool_down_minutes" : "5",
      "scaling_adjustment" : "1",
      "trigger" : {
        "metric_name" : "YARNMemoryAvailablePercentage",
        "metric_value" : "25",
        "comparison_operator" : "LT",
        "evaluation_periods" : "10"
      }
    }, {
      "name" : "default-shrink-1",
      "adjustment_type" : "scale_in",
      "cool_down_minutes" : "5",
      "scaling_adjustment" : "1",
      "trigger" : {
        "metric_name" : "YARNMemoryAvailablePercentage",
        "metric_value" : "70",
        "comparison_operator" : "GT",
        "evaluation_periods" : "10"
      }
    } ]
  }
}
NOTA:

Una nueva regla de escalado automático sobrescribirá la regla de escalado automático guardada en la base de datos original. Si desea modificar la regla original, consulte primero la regla original, modifique la regla y envíe una tarea de modificación. Para obtener más información, consulte Consulta de detalles del clúster.

Ejemplo de respuesta

Código de estado: 200

La operación es exitosa.

{
  "result" : "succeeded"
}

Códigos de estado

Tabla 8 describe el código de estado.

Tabla 8 Código de estado

Código de estado

Descripción

200

Se ha creado el clúster.

Consulte Códigos de estado.

Códigos de error

Consulte Códigos de error.

Utilizamos cookies para mejorar nuestro sitio y tu experiencia. Al continuar navegando en nuestro sitio, tú aceptas nuestra política de cookies. Descubre más

Comentarios

Comentarios

Comentarios

0/500

Seleccionar contenido

Enviar el contenido seleccionado con los comentarios