Comment mettre à niveau les clusters Kubernetes gérés par DigitalOcean

0
174

DigitalOcean’s Managed Kubernetes Service (DOKS) permet d'obtenir rapidement et facilement des clusters prêts pour la production fonctionnant dans le cloud. Lorsque vous créez un cluster, vous pouvez choisir parmi les trois dernières versions mineures de Kubernetes. Voici comment gérer les mises à jour afin de ne pas être laissé pour compte sur les nouvelles fonctionnalités et les correctifs de sécurité.

Types de mise à jour

< p>Vous rencontrerez deux types différents de mise à jour Kubernetes lors de l'utilisation de votre cluster :

  • Les versions de correctifs– Ceux-ci remplacent le numéro de correctif dans le schéma de version sémantique, tel que 1.20.1 à 1.20.2. Les mises à jour de correctifs doivent toujours pouvoir être mises à jour en toute sécurité, sans dépréciation ni modification de rupture.
  • Versions mineures – Une version mineure implique une bosse de fonctionnalité, telle que 1.20 à 1.21. Ces modifications doivent toujours être rétrocompatibles, de sorte que vous ne rencontrerez aucun problème immédiat. Certaines fonctionnalités pourraient être dépréciées dans une version mineure pour être supprimées dans une future version majeure (1.x à 2.x).

Pour les correctifs et les versions mineures, DigitalOcean propose un service de mise à niveau automatique qui prendra des mesures en votre nom. Les mises à jour seront installées pendant une fenêtre de maintenance prédéfinie. Les mises à jour mineures ne sont pas appliquées, sauf si vous activez d'abord manuellement une option au niveau du cluster.

DigitalOcean peut parfois forcer une mise à jour en cas de problème de sécurité urgent. Cela peut arriver même si vous avez désactivé les mises à jour automatiques. De plus, votre cluster sera éventuellement mis à niveau si vous restez sur la plus ancienne version de Kubernetes prise en charge pendant si longtemps que DigitalOcean l'arrête complètement.

Les mises à niveau sont un processus en deux étapes. Tout d'abord, le plan de contrôle Kubernetes est mis à jour, pendant lequel vos charges de travail restent disponibles. Vos nœuds de travail sont ensuite corrigés vers la nouvelle version. Cela peut entraîner des temps d'arrêt en fonction de la taille de votre cluster et de ses charges de travail.

Définition de votre calendrier de mise à jour

Le calendrier de mise à jour automatique de votre cluster est défini dans le panneau de configuration DigitalOcean. Connectez-vous à votre compte et cliquez sur votre cluster sur la page d'accueil. Vous pouvez également cliquer sur “Kubernetes” dans la barre latérale gauche et choisissez votre cluster à partir de là.

 

Publicité

Une fois que vous êtes sur la page de votre cluster, cliquez sur le bouton “Paramètres” onglet en haut. Cliquez sur le bouton “Modifier” à côté de la “Fenêtre de mise à niveau” Catégorie. Utilisez les deux menus déroulants pour choisir un jour et une heure. Cliquez sur “Enregistrer” pour confirmer votre sélection. DigitalOcean programmera les mises à niveau automatiques à installer pendant une période de quatre heures à partir de l'heure définie.

Si vous souhaitez que les versions mineures de Kubernetes soient également appliquées automatiquement, cliquez sur le bouton “Modifier” à côté de “Mettre à jour automatiquement les correctifs de version mineure.” Lorsque la case est cochée, votre cluster passera à de nouvelles versions mineures sans aucune intervention manuelle. Vous devez évaluer cette décision par rapport à la stabilité minimale dont vous avez besoin pour vos charges de travail.

Mise à jour manuelle

Vous pouvez toujours mettre à niveau votre cluster manuellement depuis le contrôle du cloud panneau. Vous devrez le faire lorsque vous effectuez une mise à niveau de version mineure et que l'option automatique n'est pas activée. Une mise à niveau manuelle est également utile si vous souhaitez installer un correctif avant votre calendrier habituel.

Accédez à votre cluster dans le panneau de configuration. Faites défiler vers le bas sur le “Aperçu” et cliquez sur l'onglet bleu “Afficher la mise à niveau disponible” bouton. Si ce bouton n'est pas affiché, votre cluster est déjà mis à jour et aucun autre correctif n'est disponible.

Si vous effectuez une mise à niveau vers une nouvelle version mineure, DigitalOcean lira les ressources de votre cluster pour découvrir tout problème de compatibilité potentiel. Cette vérification peut prendre quelques instants. Vous verrez les résultats affichés dans la fenêtre contextuelle.

Publicité

Tout problème de peluchage doit être résolu avant de procéder à la mise à jour. Bien que les mises à jour mineures de Kubernetes ne devraient pas présenter de graves problèmes de compatibilité descendante, les mises à niveau impliquent également des modifications de la plate-forme DOKS sous-jacente. DigitalOcean ajuste parfois la configuration DOKS de manière à introduire des blocs de mise à niveau pour les anciennes versions.

Si le lint échoue, vous devez vous référer à la documentation de DigitalOcean car les étapes de résolution diffèrent d'un cluster à l'autre. La référence sur le peluchage de DigitalOcean comprend la procédure étape par étape pour résoudre le problème. instructions pour les problèmes les plus courants. Lorsque vous avez terminé, cliquez sur “Réexécuter la vérification” pour confirmer que vos corrections sont efficaces.

Une fois les peluches passées, cliquez sur le bouton bleu “Mettre à niveau maintenant” bouton pour lancer la mise à jour. Cela peut prendre plusieurs minutes selon la taille de votre cluster. La progression est affichée dans l'interface utilisateur du panneau de configuration. Le plan de contrôle est mis à jour en premier, suivi de chaque nœud de travail de votre cluster.

Mise à jour à partir de la CLI

Vous pouvez automatiser les mises à jour dans votre propre infrastructure en utilisant la CLI de DigitalOcean, Doctl. Assurez-vous que Doctl est installé et connecté à votre compte.

Prenez d'abord les détails de votre cluster :

liste des clusters doctl kubernetes

Cette commande affiche tous vos clusters. Notez l'ID du cluster que vous souhaitez mettre à jour.

Ensuite, recherchez les versions de Kubernetes vers lequel votre cluster peut migrer :

doctl kubernetes cluster get-upgrades <ID> Publicité


Remplacer <ID> avec l'ID de cluster que vous avez noté précédemment. Maintenant que vous connaissez les versions que vous pouvez utiliser, exécutez la commande de mise à niveau pour lancer le correctif :

doctl kubernetes cluster upgrade <ID> –version 1.20.8

Si vous souhaitez passer directement à la dernière version, vous pouvez omettre l'indicateur –version.

Le processus de mise à niveau peut prendre plusieurs minutes, tout comme une installation initié via l'interface utilisateur Web.

Mises à niveau de surtension

La mise à jour d'un cluster avec un seul nœud pouvait provoquer des temps d'arrêt. Les nœuds sont remplacés par de nouvelles instances au cours du processus de mise à jour, il y aurait donc une période pendant laquelle vos charges de travail seraient déconnectées. Lorsque votre cluster contient plusieurs nœuds, le planificateur Kubernetes déplace les pods de chaque nœud de mise à niveau pour maintenir la disponibilité. Vous pouvez toujours rencontrer des temps d'arrêt si la capacité de votre cluster ne peut pas prendre en charge toutes vos charges de travail lors de l'exécution d'un nœud en panne.

Les mises à niveau de surtension sont une fonctionnalité facultative qui vous permet de garantir la disponibilité lors des mises à jour, même sur des clusters à nœud unique. Lorsque les mises à niveau de surtension sont actives, DigitalOcean crée des nœuds de travail supplémentaires avant l'installation du correctif. Les pods seront déplacés vers le “surge” nœuds pendant la mise à niveau du cluster.

Un maximum de 10 nœuds de surtension seront ajoutés à Votre compte. Ceux-ci seront facturés au taux de goutte régulier. Pour la plupart des clusters, l'impact sur les coûts devrait être négligeable, car les gouttelettes supplémentaires ne vivront que pendant la durée de la mise à jour.

Publicité

Vous pouvez activer les mises à niveau de surtension dans la page Paramètres de votre cluster. Une fois activés, ils seront utilisés pour toutes les futures mises à jour, automatisées et manuelles. L'option Surge Upgrades s'affiche également dans l'invite de confirmation lorsque vous êtes sur le point de commencer une mise à jour manuelle.

Conclusion

Vous avez plusieurs options pour mettre à jour les clusters DigitalOcean Kubernetes. Il est généralement préférable de laisser les mises à jour des correctifs s'appliquer automatiquement, tandis que les versions mineures peuvent être automatisées ou installées manuellement avec le panneau de configuration Cloud ou Doctl.

Les mises à jour ne devraient pas entraîner de temps d'arrêt pour votre utilisateurs à condition que vous ayez activé les mises à niveau de surtension. DigitalOcean créera automatiquement de nouveaux nœuds de travail pour maintenir la disponibilité du service pendant que les nœuds principaux sont mis à jour. Si vous n'utilisez pas les mises à niveau de surtension, vous pouvez rencontrer des temps d'arrêt si vous utilisez un cluster à nœud unique ou si vous vous retrouvez avec une capacité insuffisante car chaque nœud abandonne pour être mis à jour.