Préparation des clusters Satellite pour l'autoscaling

Satellite

Avant de pouvoir utiliser le module complémentaire de cluster automatique dans votre cluster Satellite, procédez comme suit.

Le calage automatique sur les clusters Satellite est disponible en version bêta uniquement pour les comptes répertoriés. Vous pouvez être ajouté à la liste autorisée en ouvrant un cas avec le support.

L'activation de l'autoscaler sur un compte non autorisé entraîne une erreur The 'cluster-autoscaler' add-on is not supported on satellite clusters. Vous pouvez être ajouté à la liste autorisée en ouvrant un cas avec le support.

Compréhension de la mise à l'échelle automatique dans les clusters Satellite

Comment fonctionne l'échelle de travail pour les clusters Satellite ?
L'autoscaler de cluster vérifie périodiquement les cabosses qui sont bloquées en attente en raison d'un manque de mémoire ou de ressources de l'unité centrale.
  1. L'autoscaler vérifie si la mise à l'échelle est activée sur l'un des pools de travailleurs du cluster. Si la mise à l'échelle est activée, l'autoscaler calcule le nombre requis de nœuds de travail pour accueillir tous les pods qui sont bloqués dans l'état d'attente. Si aucun pool de travailleurs n'a activé l'autoscaling, aucune action ne se produit.
  2. L'autoscaler compare le nombre de nœuds de travail requis, calculé à l'étape précédente, au nombre total de nœuds de travail autorisé pour la mise à l'échelle ( MaxSize ). Si la valeur MaxSize autorisée est inférieure ou égale au nombre de noeuds de travail requis pour satisfaire tous les gousses, l'autoscaler envoie une demande de redimensionnage au groupe d'instances.
  3. L'autoscaler extrait les hôtes qui sont Ready ou Unassigned à l'emplacement et qui possèdent des libellés d'hôte qui correspondent aux libellés des nœuds de travail du pool de travailleurs où la mise en place automatique est activée.
  4. L'autoscaler détermine s'il y a suffisamment d'hôtes disponibles Ready ou Unassigned d'hôtes pour satisfaire la demande de redimensionnement.
    • S'il n'y a pas assez d'hôtes disponibles dans l'emplacement, un avertissement est ajouté aux journaux indiquant que l'opération de redimensionnement était incomplète.
    • S'il existe des hôtes disponibles qui sont Ready ou Unassigned et ont les étiquettes d'hôte correspondantes, l'autoscaler utilise ces hôtes pour répondre à la demande.
    • Si aucun hôte n'est disponible avec les étiquettes d'hôte correspondantes, l'autoscaler filtre les hôtes Ready ou Unassigned pour ceux qui ont seulement les étiquettes d'hôte par défaut. Ensuite, l'autoscaler met à jour les étiquettes de ces hôtes pour qu'elles correspondent aux étiquettes des hôtes du pool de travailleurs où la mise à l'échelle est activée et utilise ces hôtes pour répondre à la demande.
Comment fonctionne la mise à l'échelle par réduction dans les clusters Satellite ?
Lorsque l'autoscaler de cluster détermine qu'un nœud de travailleur est sous-utilisé pendant la durée spécifiée scaleDownUnneededTime, les travailleurs sont supprimés du cluster. Les hôtes utilisés pour ces nœuds de travail sont alors dans l'état Reload Required ou Unassigned dans l'emplacement. Ces hôtes ne peuvent être utilisés par aucun autre cluster tant qu'ils n'ont pas été rechargés et rattachés à l'emplacement. Notez que tous les travailleurs du pool de nœuds worker doivent être de la même version.
Que se passe-il si mon emplacement n'a pas d'hôtes disponibles pour la mise à l'échelle ?
S'il n'y a pas suffisamment d'hôtes pour la mise à l'échelle par augmentation, la charge de travail n'est pas entièrement déployée. Mais après que d'autres hôtes sont ajoutés à l'emplacement, l'opération de mise à l'échelle par augmentation reprend automatiquement.
En quoi la mise à l'échelle automatique est-elle différente sur Satellite par rapport à IBM Cloud® Kubernetes Service ou Red Hat® OpenShift® on IBM Cloud®?
IBM Cloud® Kubernetes Service ou Red Hat® OpenShift® on IBM Cloud® peut automatiquement fournir ou supprimer des hôtes dans l'infrastructure dans le cadre d'une mise à l'échelle. Avec Satellite, puisque les hôtes résident sur une variété d'infrastructures différentes, le dispositif de mise à l'échelle automatique ne peut pas fournir et supprimer automatiquement les nœuds worker. Au lieu de cela, sur les clusters Satellite, le dispositif de mise à l'échelle automatique de cluster utilise uniquement les hôtes qui sont déjà disponibles et prêts dans l'emplacement. Cela signifie que vous devez garder des hôtes supplémentaires disponibles dans l'emplacement pour que l'autoscaler puisse les utiliser pendant la mise à l'échelle.
Quel type d'hôtes effectue l'utilisation du dispositif de mise à l'échelle automatique du cluster lors de la mise à l'échelle du cluster ?
Les hôtes ayant le statutReady et l'étatunassigned sont considérés comme disponibles pour être utilisés par le dispositif de mise à l'échelle automatique de cluster.
Parmi les hôtes disponibles, lequel peuvent être utilisés lors de la mise à l'échelle ?
Parmi les hôtesReady etunassigned, seuls les hôtes dont les libellés correspondent aux libellés du pool de nœuds worker où la mise à l'échelle est activée peuvent être utilisés pour la mise à l'échelle. Lorsque vous connectez des hôtes à votre emplacement, veillez à étiqueter les hôtes que vous souhaitez utiliser dans vos pools de nœuds worker mis à l'échelle automatiquement.
Comment le dispositif de mise à l'échelle automatique du cluster a-elle une incidence sur la facturation ?
Étant donné que l'autoscaler de cluster n'effectue aucune opération au niveau de l'infrastructure, il affecte toutefois les hôtes aux pools de travailleurs, ce qui implique des frais de gestion de cluster.
Après un événement de mise à l'échelle, qu'est-ce que je fais avec les hôtes qui ont été utilisés pour la mise à l'échelle maintenant dans un étatReload required ?
Après la mise à l'échelle, les hôtes entrent dans l'état Reload required et ne peuvent plus être utilisés pour la mise à l'échelle jusqu'à ce qu'ils soient redémarrés. Désaffectez ces hôtes du pool de travailleurs, retirez-les de votre emplacement, redémarrez-les et rattachez-les pour qu'ils soient à nouveau disponibles pour la mise à l'échelle.
Comment configurer la mise à l'échelle automatique dans mon cluster Satellite
Pour configurer la mise à l'échelle automatique, vous devez effectuer les étapes suivantes.
  1. Permet de créer un emplacement Satellite.
  2. Configurez le plan de contrôle d'emplacement.
  3. Joignez des hôtes pour le pool de nœuds worker par défaut.
  4. Créez un cluster qui utilise vos hôtes Satellite.
  5. Vérifiez ou créez les secrets de stockage requis dans votre cluster.
  6. Associez davantage d'hôtes à votre emplacement et créez un second pool de nœuds worker dans votre cluster.
  7. Joignez plus d'hôtes à votre emplacement et laissez-les non affectés et disponibles pour une mise à l'échelle.
  8. Installez le module complémentaire cluster-autoscaler.
  9. Éditez le dispositif de mise à l'échelle automatique de mappe de configuration et activez la mise à l'échelle.

Configuration de votre emplacement et de votre cluster pour la mise à l'échelle automatique

  1. Créer un emplacement et définissez votre plan de contrôle.

  2. Après avoir mis en place votre plan de contrôle, attachez plus d'hôtes que vous souhaitez utiliser dans le pool de nœuds worker par défaut de votre cluster.

  3. Créer un cluster dans votre emplacement.

  4. Copiez le secret storage-secret-store suivant et sauvegardez-le en tant que fichier. Vous trouverez les détails de votre noeud final openshift-api sur la page Satellite Lier des noeuds finaux pour votre emplacement.

    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
    
  5. Créez le secret dans votre cluster.

    oc create -f secret.yaml -n kube-system
    
  6. Associez davantage d'hôtes à votre emplacement que vous souhaitez utiliser dans votre pool de nœuds worker mis à l'échelle automatiquement. En tant que meilleure pratique, ne définissez pas la mise à l'échelle automatique sur le pool de nœuds worker par défaut. Lorsque vous attachez les hôtes que vous souhaitez utiliser dans le pool de travailleurs autoscalés, veillez à spécifier des étiquettes d'hôte telles que cpu=16 et memory=64. Les libellés d'hôte sont utilisés par le module complémentaire du dispositif de mise à l'échelle automatique de cluster pour rechercher les hôtes disponibles pour la mise à l'échelle. Exemple de commande permettant de connecter des hôtes lors de la spécification des libellés d'hôte pour l'unité centrale et la mémoire.

    ibmcloud sat host attach --location LOCATION --host-label "cpu=16" --host-label "memory=64" [--operating-system SYSTEM]
    
  7. Créez un deuxième pool de nœuds worker à l'aide des hôtes que vous avez joints. Pour plus d'informations, voir Création de clusters Red Hat OpenShift on IBM Cloud dans Satellite.

  8. Associez davantage d'hôtes à votre emplacement, mais ne les affectez pas à un pool de nœuds worker. Ces Ready/Unassigned hôtes sont disponibles pour l'autoscaling. Lorsque vous attachez les hôtes que vous souhaitez laisser disponibles pour l'autoscaling, veillez à spécifier des étiquettes d'hôte telles que cpu=16 et memory=64. Les libellés d'hôte sont utilisés par le module complémentaire du dispositif de mise à l'échelle automatique de cluster pour rechercher les hôtes disponibles pour la mise à l'échelle.

  9. Installez le module complémentaire cluster autoscaler dans votre cluster. Notez que si vous voyez un message d'erreurThe 'cluster-autoscaler' add-on is not supported on satellite clusters, votre compte n'est pas indiqué pour utiliser le module complémentaire. Pour être ajouté à la liste autorisée, ouvrez un cas avec le support.

  10. Modifiez le cluster autoscaler ConfigMap et spécifiez les paramètres d'autoscaling que vous souhaitez utiliser, tels que MinSize, MaxSize, et les pools de travailleurs que vous souhaitez utiliser pour la mise à l'échelle.