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
Situation Awareness
Managed Threat Detection
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

autoscaler

Actualización más reciente 2024-09-10 GMT+08:00

Presentación

Autoscaler es un importante controlador de Kubernetes. Es compatible con el ajuste de microservicios y es clave para el diseño sin servidor.

Cuando el uso de CPU o memoria de un microservicio es demasiado alto, se activa el escalado automático de pods horizontal para agregar pods para reducir la carga. Estos pods se pueden reducir automáticamente cuando la carga es baja, lo que permite que el microservicio funcione de la manera más eficiente posible.

CCE simplifica la creación, actualización y ajuste manual de clústeres de Kubernetes, en los que las cargas de tráfico cambian con el tiempo. Para equilibrar el uso de recursos y el rendimiento de las cargas de trabajo de los nodos, Kubernetes introduce el complemento de escalado automático para cambiar el tamaño de un clúster automáticamente en función del uso de recursos requerido para las cargas de trabajo implementadas en el clúster. Para obtener más información, véase Creación de una política del ajuste de nodos.

Comunidad de código abierto https://github.com/kubernetes/autoscaler

Cómo funciona el complemento

autoscaler controla la expansión y la reducción automáticas.

  • Expansión automática
    Puede elegir cualquiera de los siguientes métodos:
    • Si los pods de un clúster no se pueden programar debido a nodos de trabajo insuficientes, se activa el ajuste del clúster para agregar nodos. Los nodos que se van a agregar tienen la misma especificación que la configurada para el grupo de nodos al que pertenecen los nodos.
      La expansión automática se realizará cuando:
      • Los recursos del nodo son insuficientes.
      • No se establece ninguna política de afinidad de nodo en la configuración de programación de pod. Es decir, si un nodo se ha configurado como un nodo de afinidad para pods, no se agregará automáticamente ningún nodo cuando los pods no se puedan programar. Para obtener más información acerca de cómo configurar la política de afinidad de nodo, consulte Política de programación (afinidad/antiafinidad).
    • Cuando el clúster cumple con la política de ajuste de nodo, también se activa la expansión del clúster. Para obtener más información, véase Creación de una política del ajuste de nodos.
    NOTA:

    El complemento sigue la política "No Menos, No Más". Por ejemplo, si se requieren tres núcleos para crear un pod y el sistema admite nodos de cuatro núcleos y ocho núcleos, el escalador automático creará preferentemente un nodo de cuatro núcleos.

  • Reducción automática
    Cuando un nodo de clúster está inactivo durante un período de tiempo (10 minutos de forma predeterminada), se activa la ampliación del clúster y el nodo se elimina automáticamente. Sin embargo, no se puede eliminar un nodo de un clúster si existen los siguientes pods:
    • Pods que no cumplen con los requisitos específicos establecidos en Pod Disruption Budgets (PodDisruptionBudget)
    • Pods que no se pueden programar para otros nodos debido a restricciones como las políticas de afinidad y antiafinidad
    • Pods que tienen la anotación cluster-autoscaler.kubernetes.io/safe-to-evict: 'false'
    • Pods (excepto aquellos creados por DaemonSets en el espacio de nombres del sistema kube) que existen en el espacio de nombres del sistema kube en el nodo
    • Pods que no son creados por el controlador (Deployment/ReplicaSet/job/StatefulSet)
    NOTA:

    Cuando un nodo cumple con las condiciones de la reducción, el autoscaler agrega la mancha DeletionCandidateOfClusterAutoscaler al nodo por adelantado para evitar que los pods se programen en el nodo. Después de desinstalar el complemento de autoscaler, si la mancha todavía existe en el nodo, elimínelo manualmente.

Notas y restricciones

  • Solo los clústeres de v1.9.7-r1 y posteriores admiten el escalador automático.
  • Asegúrese de que hay suficientes recursos para instalar el complemento.
  • El autoscaler solo puede agregar o quitar los nodos de VM de pago por uso.
  • El grupo de nodos predeterminado no admite el ajuste automático. Para obtener más información, véase Descripción del DefaultPool.

Instalación del complemento

  1. Inicie sesión en la consola de CCE y acceda a la consola del clúster. Elija Add-ons en el panel de navegación, localice autoscaler a la derecha y haga clic en Install.
  2. Configure los parámetros de instalación del complemento.

    Tabla 1 Configuración de las especificaciones

    Parámetro

    Descripción

    Add-on Specifications

    El complemento se puede desplegar en las siguientes especificaciones:

    NOTA:

    Cuando el complemento del autoscaler se despliega en modo HA o personalizado, existen las políticas de antiafinidad entre las instancias de complemento y las instancias de complemento se despliegan en diferentes nodos. Por lo tanto, el número de nodos disponibles en el clúster debe ser mayor o igual que el número de instancias de complemento para garantizar una alta disponibilidad del complemento.

    • Single: El complemento se despliega con un solo pod.
    • HA50: El complemento se despliega con dos pods, sirviendo a un clúster con 50 nodos y asegurando una alta disponibilidad.
    • HA200: El complemento se despliega con dos pods, sirviendo a un clúster con 50 nodos y asegurando una alta disponibilidad. Cada pod utiliza más recursos que los de la especificación HA50.
    • Custom: Puede personalizar el número de pods y las especificaciones según sea necesario.
    Tabla 2 Configuración de parámetros

    Parámetro

    Descripción

    Scaling

    Puede seleccionar las siguientes opciones según sea necesario:

    • Los nodos se agregan automáticamente (desde el grupo de nodos) cuando no se pueden programar los pods del clúster.

      Es decir, cuando un pod está en estado Pending, se realiza una expansión automática. Si un nodo se ha configurado como un nodo de afinidad para los pods, no se agregará automáticamente ningún nodo cuando los pods no se puedan programar. En general, una política de HPA funciona con tal ajuste. Para obtener más información, véase Uso de HPA y CA para el ajuste automático de cargas de trabajo y nodos.

      Si este parámetro no está seleccionado, el ajuste solo se puede realizar con las políticas de ajuste de nodos.

    • Reducción automática de nodo
      • Node Idle Time (min): Tiempo durante el cual un nodo no debe ser necesario antes de que sea elegible para escalar hacia abajo. Valor predeterminado: 10 minutos.
      • Scale-in Threshold: Si el porcentaje de CPU y memoria solicitada en un nodo está por debajo de este umbral, se activará la reducción automática de escala para eliminar el nodo del clúster. El valor predeterminado es 0.5, lo que significa 50%.
      • Stabilization Window (s)

        ¿Cuánto tiempo después de una expansión se reanuda una evaluación de reducción. Valor predeterminado: 10 minutos.

        NOTA:

        Si existen ambas expansión y reducción automáticas en un clúster, se recomienda establecer How long after a expansión that a reducción evaluation resumes en 0 minutos. Esto puede evitar que la reducción horizontal de nodo se bloquee debido a la expansión continua de algunos grupos de nodos o reintentos tras un fallo de expansión que resulta en un desperdicio inesperado de recursos de nodo.

        Cuánto tiempo después de la eliminación del nodo se reanuda una evaluación de reducción. Valor predeterminado: 10 minutos.

        Cuánto tiempo después de un fallo de reducción se reanuda una evaluación de reducción. Valor predeterminado: 3 minutos. Para obtener detalles sobre el impacto y la relación entre los intervalos de refrigeración reducción configurados en el grupo de nodos y el autoscaler, consulte Descripción del periodo de enfriamiento a escala.

      • Max. Nodes for Batch Deletion: Número máximo de nodos vacíos que se pueden eliminar al mismo tiempo. Valor predeterminado: 10.
        Esta característica solo se aplica a los nodos inactivos. Los nodos inactivos se pueden escalar simultáneamente. Los nodos que no están inactivos solo se pueden escalar uno por uno.
        NOTA:

        Durante la reducción del nodo, si el pod del nodo no necesita ser desalojado (como los pods de DaemonSet), el nodo está inactivo. De lo contrario, el nodo no está inactivo.

      • Check Interval: Intervalo para comprobar de nuevo un nodo que no se podía quitar antes. Valor predeterminado: 5 minutos.

    Total Nodes

    Número máximo de nodos que puede gestionar el clúster, dentro del cual se realiza la expansión horizontal del clúster.

    Total CPUs

    Suma máxima de núcleos de CPU de todos los nodos de un clúster, dentro del cual se realiza la expansión horizontal del clúster.

    Total Memory (GB)

    Suma máxima de memoria de todos los nodos de un clúster, dentro del cual se realiza la expansión horizontal del clúster.

  3. Cuando se complete la configuración, haga clic en Install.

Descripción del periodo de enfriamiento a escala

Los intervalos de enfriamiento de escalado se pueden configurar en la configuración del grupo de nodos y en la configuración del complemento del autoscaler.

Intervalo de enfriamiento de reducción configurado en un grupo de nodos

Este intervalo indica el período durante el cual no se pueden eliminar los nodos agregados al grupo de nodos actual después de una operación de expansión. Este intervalo tiene efecto en el nivel del grupo de nodos.

Intervalo de enfriamiento de reducción configurado en el complemento del autoscaler

El intervalo después de una expansión indica el período durante el cual no se puede escalar todo el clúster después de que el complemento de autoscaler active expansión (debido a los pods, las métricas y las políticas de ajuste no programables). Este intervalo tiene efecto a nivel de clúster.

El intervalo después de eliminar un nodo indica el período durante el cual no se puede escalar el clúster después de que el complemento de autoscaler active reducción. Este intervalo tiene efecto a nivel de clúster.

El intervalo después de una reducción fallida indica el período durante el cual el clúster no se puede escalar después de que el complemento de autoscaler active la reducción. Este intervalo tiene efecto a nivel de clúster.

Historial de cambios

Tabla 3 Versiones de complementos de CCE

Versión del complemento

Versión de clúster admitida

Versión de la comunidad (solo para clústeres de v1.17 y posteriores)

1.25.21

/v1.25.*/

1.25.0

1.25.11

/v1.25.*/

1.25.0

1.25.7

/v1.25.*/

1.25.0

1.23.31

/v1.23.*/

1.23.0

1.23.21

/v1.23.*/

1.23.0

1.23.17

/v1.23.*/

1.23.0

1.23.10

/v1.23.*/

1.23.0

1.23.9

/v1.23.*/

1.23.0

1.23.8

/v1.23.*/

1.23.0

1.23.7

/v1.23.*/

1.23.0

1.23.3

/v1.23.*/

1.23.0

1.21.29

/v1.21.*/

1.21.0

1.21.20

/v1.21.*/

1.21.0

1.21.16

/v1.21.*/

1.21.0

1.21.9

/v1.21.*/

1.21.0

1.21.8

/v1.21.*/

1.21.0

1.21.6

/v1.21.*/

1.21.0

1.21.4

/v1.21.*/

1.21.0

1.21.2

/v1.21.*/

1.21.0

1.21.1

/v1.21.*/

1.21.0

1.19.35

/v1.19.*/

1.19.0

1.19.27

/v1.19.*/

1.19.0

1.19.22

/v1.19.*/

1.19.0

1.19.14

/v1.19.*/

1.19.0

1.19.13

/v1.19.*/

1.19.0

1.19.12

/v1.19.*/

1.19.0

1.19.11

/v1.19.*/

1.19.0

1.19.9

/v1.19.*/

1.19.0

1.19.8

/v1.19.*/

1.19.0

1.19.7

/v1.19.*/

1.19.0

1.19.6

/v1.19.*/

1.19.0

1.19.3

/v1.19.*/

1.19.0

1.17.27

/v1.17.*/

1.17.0

1.17.22

/v1.17.*/

1.17.0

1.17.21

/v1.17.*/

1.17.0

1.17.19

/v1.17.*/

1.17.0

1.17.17

/v1.17.*/

1.17.0

1.17.16

/v1.17.*/

1.17.0

1.17.15

/v1.17.*/

1.17.0

1.17.14

/v1.17.*/

1.17.0

1.17.8

/v1.17.*/

1.17.0

1.17.7

/v1.17.*/

1.17.0

1.17.5

/v1.17.*/

1.17.0

1.17.2

/v1.17.*/

1.17.0

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