Preparación de clústeres de Satellite para el escalado automático
Satellite
Para poder utilizar el complemento de programa de escalado automático de clúster en el clúster de Satellite, siga estos pasos.
El escalado automático en los clústeres de Satellite está disponible solo en la versión Beta para las cuentas incluidas en la lista de elementos permitidos. Puede añadirse a la lista de elementos permitidos abriendo un caso con soporte.
La activación del autoscaler en una cuenta no permitida da lugar a un error The 'cluster-autoscaler' add-on is not supported on satellite clusters. Puede añadirse a la lista de elementos permitidos abriendo un caso con soporte.
Información sobre el escalado automático en clústeres de Satellite
- ¿Cómo funciona el aumento de escala en los clústeres de Satellite?
- El programa de escalado automático de clúster comprueba periódicamente los pods que están bloqueados con un estado pendiente debido a la falta de memoria o recursos de CPU.
- El autoescalador comprueba si el escalado está activado en cualquiera de los grupos de trabajadores del clúster. Si el escalado está activado, el autoescalador calcula el número necesario de nodos trabajadores para acomodar todos los pods que están atascados en estado pendiente. Si ningún pool de trabajo tiene activado el autoescalado, no se produce ninguna acción.
- El autoescalador compara el recuento de nodos trabajadores necesarios, que se calculó en el paso anterior, con el
MaxSizeo número total de nodos trabajadores permitidos para el escalado. Si elMaxSizepermitido es menor o igual que el recuento de nodos de trabajador necesarios para satisfacer todos los pods, el programa de escalado automático envía una solicitud de redimensionamiento al grupo de instancias. - El programa de escalado automático capta los hosts que son
ReadyoUnassigneden la ubicación y que tienen etiquetas de host que coinciden con las etiquetas en los nodos de trabajador de la agrupación de trabajadores donde se habilita el escalado automático. - El programa de escalado automático determina si hay suficientes hosts
ReadyoUnassigneddisponibles para satisfacer la solicitud de redimensionamiento.- Si no hay suficientes hosts disponibles en la ubicación, se añade una advertencia a los registros indicando que la operación de cambio de tamaño fue incompleta.
- Si hay hosts disponibles que son
ReadyoUnassignedy tienen las etiquetas de host coincidentes, el programa de escalado automático utiliza esos hosts para satisfacer la solicitud. - Si no hay hosts disponibles con las etiquetas de host coincidentes, el programa de escalado automático filtra los hosts
ReadyoUnassignedpor aquellos que solo tienen las etiquetas de host predeterminadas. A continuación, el programa de escalado automático actualiza las etiquetas en esos hosts para que coincidan con las etiquetas de host de la agrupación de trabajadores donde está habilitado el escalado, y utiliza estos hosts para satisfacer la solicitud.
- ¿Cómo funciona la reducción de escala en los clústeres de Satellite?
- Cuando el autoescalador del clúster determina que un nodo trabajador está infrautilizado durante el tiempo especificado
scaleDownUnneededTime, los trabajadores se eliminan del clúster. Los hosts que se utilizaron para esos nodos trabajadores se encuentran entonces en el estadoReload RequiredoUnassigneden la ubicación. Estos hosts no podrán ser utilizados por ningún otro cluster hasta que sean recargados y vuelvan a ser conectados a la ubicación. Tenga en cuenta que todos los trabajadores de la agrupación de trabajadores deben tener el mismo tipo. - ¿Qué sucede si mi ubicación no tiene hosts disponibles para aumentar la escala?
- Si no hay suficientes hosts para aumentar la escala, la carga de trabajo no se despliega completamente. No obstante, después de añadir más hosts a la ubicación, la operación de aumento de escala se reanuda automáticamente.
- ¿En qué se diferencia el autoescalado en Satellite del de IBM Cloud® Kubernetes Service o Red Hat® OpenShift® on IBM Cloud®?
- IBM Cloud® Kubernetes Service o Red Hat® OpenShift® on IBM Cloud® pueden suministrar o eliminar automáticamente hosts en la infraestructura como parte del escalado. Con Satellite, como los hosts residen en una amplia variedad de infraestructuras, el programa de escalado automático no puede suministrar ni eliminar automáticamente nodos de trabajador. En su lugar, en los clústeres de Satellite, el programa de escalado automático de clúster utiliza solo hosts que ya están disponibles y preparados en la ubicación. Esto significa que debe mantener hosts adicionales disponibles en la ubicación para que el autoscaler los utilice durante el escalado.
- ¿Qué tipo de hosts utiliza el programa de escalado automático de clúster cuando aumenta la escala del clúster?
- Los hosts con un estado
Readyyunassignedse consideran disponibles para que los utilice el programa de escalado automático del clúster. - ¿Cuál de los hosts disponibles se puede utilizar cuando se aumenta la escala?
- De los hosts
Readyyunassigned, para aumentar la escala, solo se pueden utilizar los hosts cuyas etiquetas coincidan con las etiquetas de la agrupación de trabajadores donde está habilitado el escalado. Cuando conecte hosts a su ubicación, asegúrese de etiquetar los hosts que desee utilizar en las agrupaciones de trabajadores que se han escalado automáticamente. - ¿Cómo afecta el programa de escalado automático del clúster a la facturación?
- Dado que el autoescalador de clústeres no realiza ninguna operación a nivel de infraestructura, sí asigna hosts a grupos de trabajadores, lo que significa que se incurre en gastos de gestión de clústeres.
- Después de un suceso de escalado, ¿qué debo hacer con los hosts que se han utilizado para el escalado y ahora tienen un estado
Reload required? - Tras el escalado, los hosts entran en un estado
Reload requiredy no pueden volver a utilizarse para el escalado hasta que se reinicien. Desasigne estos hosts del grupo de trabajadores, retírelos de su ubicación, reinícielos y vuelva a asignarlos para que vuelvan a estar disponibles para el escalado. - ¿Cómo puedo configurar el programa de escalado automático en mi clúster de Satellite?
- Para configurar el programa de escalado automático, debe seguir estos pasos.
- Crear una ubicación de Satellite.
- Configure el panel de control de la ubicación.
- Conecte hosts para la agrupación de trabajadores predeterminada.
- Cree un clúster que utilice los hosts de Satellite.
- Verifique o cree los secretos de almacenamiento necesarios en el clúster.
- Conecte más hosts a la ubicación y cree una segunda agrupación de trabajadores en el clúster.
- Conecte más hosts a su ubicación y déjelos sin asignar y disponibles para el escalado.
- Instale el complemento
cluster-autoscaler. - Edite el mapa de configuración del programa de escalado automático y habilite el escalado.
Configuración de la ubicación y el clúster para el escalado automático
-
Cree una ubicación y configure su panel de control.
-
Después de configurar el panel de control, conecte más hosts que desee utilizar en la agrupación de trabajadores predeterminada para el clúster.
-
Copie el siguiente secreto de
storage-secret-storey guárdelo como archivo. Puede encontrar los detalles de punto final deopenshift-apien la página Satellite Puntos finales de enlace para su ubicación.apiVersion: v1 kind: Secret metadata: name: storage-secret-store namespace: kube-system type: Opaque stringData: ca_iam_api_key: "<iam_api_key>" # Enter your IAM API key container_api_route: "API ROUTE" # Enter the Destination IP of the openshift-api Link endpoint for your Satellite loction. For example: https://i43fb00XXX-XXXX6bf59a8XXX-ce00.us-east.satellite.appdomain.cloud -
Cree el secreto en el clúster.
oc create -f secret.yaml -n kube-system -
Conecte más hosts a la ubicación que desee utilizar en la agrupación de trabajadores escalada automáticamente. Como práctica recomendada, no configure el programa de escalado automático en la agrupación de trabajadores predeterminada. Cuando adjunte los hosts que desea utilizar en el grupo de trabajadores autoescalables, asegúrese de especificar etiquetas de host como
cpu=16ymemory=64. El complemento de programa de escalado automático de clúster utiliza las etiquetas de host para buscar los hosts que están disponibles para el escalado. Mandato de ejemplo para conectar hosts cuando se especifican etiquetas de host para la CPU y la memoria.ibmcloud sat host attach --location LOCATION --host-label "cpu=16" --host-label "memory=64" [--operating-system SYSTEM] -
Cree una segunda agrupación de trabajadores utilizando los hosts que ha conectado. Para obtener más información, consulte Creación de clústeres de Red Hat OpenShift on IBM Cloud en Satellite.
-
Conecte más hosts a la ubicación, pero no los asigne a una agrupación de trabajadores. Estos hosts de
Ready/Unassignedestán disponibles para el escalado automático. Cuando adjunte los hosts que desea dejar disponibles para el autoescalado, asegúrese de especificar etiquetas de host comocpu=16ymemory=64. El complemento de programa de escalado automático de clúster utiliza las etiquetas de host para buscar los hosts que están disponibles para el escalado. -
Instale el complemento de autoescalado de clúster en su clúster. Tenga en cuenta que si ve un mensaje de error
The 'cluster-autoscaler' add-on is not supported on satellite clusters, su cuenta no está en la lista de elementos permitidos para utilizar el complemento. Para añadirse a la lista de elementos permitidos, abra un caso con soporte. -
Edite el autoescalador del clúster ConfigMap y especifique los parámetros de autoescalado que desea utilizar, como
MinSize,MaxSize, y los grupos de trabajadores que desea utilizar para el escalado.