Création d'une stratégie de cluster hautement disponible
Concevez votre cluster standard de manière à obtenir un maximum de disponibilité et de capacité pour votre application avec IBM Cloud® Kubernetes Service. Utilisez les fonctionnalités intégrées pour améliorer la haute disponibilité de votre cluster et protéger votre application contre les temps d'arrêt en cas de défaillance d'un composant de votre cluster. Mais déterminer quelle doit être la configuration de votre cluster pour prendre en charge votre charge de travail n'est pas une science exacte. Il peut s'avérer nécessaire de tester différentes configurations et de procéder à des adaptations.
La haute disponibilité est une discipline fondamentale dans une infrastructure informatique pour maintenir vos applications opérationnelles même après une panne affectant une partie ou l'ensemble du site. L'objectif principal de la haute disponibilité est d'éliminer les points de défaillance potentiels au sein d'une infrastructure informatique. Par exemple, vous pouvez anticiper une panne système en ajoutant des modules de redondance et en configurant des mécanismes de basculement. Voir Comment IBM Cloud garantit le haute disponibilité et la reprise après incident.
Pour commencer à planifier et à dimensionner votre cluster, passez en revue les points de décision suivants avant de créer un cluster.
Décider du nombre de grappes à créer
Vos utilisateurs risquent moins de rencontrer des indisponibilités lorsque vous répartissez votre configuration entre plusieurs noeuds worker, zones et clusters. Les fonctions intégrées, telles que l'équilibrage de charge et l'isolement, augmentent la résilience en cas de pannes d'hôtes, de réseaux ou d'applications.
Le nombre de grappes que vous créez dépend de votre charge de travail, des politiques et réglementations de l'entreprise, des exigences commerciales, des accords de niveau de service que vous avez conclus avec vos clients, des ressources que vous souhaitez dépenser et de ce que vous voulez faire avec les ressources informatiques.
-
Clusters multiples: les clusters multiples sont généralement plus complexes à gérer, mais peuvent vous aider à atteindre des objectifs importants, tels que ceux énumérés ci-dessous.
- Respecter les politiques de sécurité qui exigent d'isoler des charges de travail.
- Tester le fonctionnement de votre application dans différentes versions de Kubernetes ou d'autres logiciels de cluster, tels que Calico.
- Obtenir de meilleures performances pour les utilisateurs situés dans des zones géographiques différentes.
- Simplifiez l'accès des utilisateurs pour contrôler l'accès au sein d'un cluster en configurant l'accès au niveau de l'instance de cluster au lieu de personnaliser et de gérer plusieurs politiques RBAC au niveau de l'espace de noms.
- Réduire le nombre de nœuds de travail. La bande passante du réseau sur les machines virtuelles évolutives est d'environ 1000 Mbps. Si vous avez besoin de plusieurs centaines de nœuds de travail au sein d'un cluster, vous pouvez diviser la configuration en plusieurs clusters comportant moins de nœuds, ou commander des nœuds « bare metal ».
- Permettre un plus grand nombre d'intégrations de services, par exemple plus de 5 000 services.
- Fournir une plus grande disponibilité à une application. Tout comme lorsque vous utilisez 3 zones dans des clusters multizones, vous pouvez améliorer la disponibilité de votre application en configurant trois clusters répartis sur différentes zones.
- Réduisez vos coûts en achetant des machines plus petites, adaptées à votre charge de travail.
-
Un cluster avec plus de nœuds de travail: Un nombre réduit de clusters peut vous aider à réduire l'effort opérationnel et les coûts par cluster pour les ressources fixes. Au lieu de créer d'autres clusters, vous pouvez ajouter des pools de travailleurs à un cluster pour obtenir différents types de ressources informatiques disponibles pour vos applications et composants de service. Lorsque vous développez l'application, les ressources qu'elle utilise sont dans la même zone ou étroitement connectées dans une zone multiple, par conséquent, vous pouvez émettre des hypothèses sur les temps d'attente, la bande passante ou les incidents en rapport avec ces éléments. Cependant, il est d'autant plus important pour vous d'organiser votre cluster à l'aide d'espaces de noms, de quotas de ressources et d'étiquettes lorsque vous ne disposez que d'un seul cluster.
Déterminer le nombre de sites nécessaires
Un cluster peut distribuer des répliques sur des nœuds de travail situés à un seul endroit ou à plusieurs endroits. Ce choix peut avoir un impact sur les types de grappes disponibles dans la section suivante.
La répartition de vos charges de travail sur trois zones permet d'assurer la haute disponibilité de votre application en cas d'indisponibilité d'une zone. Vos noeuds worker doivent être répartis de manière égale dans les trois zones de disponibilité afin d'être conformes à l'accord sur les niveaux de service IBM Cloud pour la configuration de la haute disponibilité.
Une défaillance de zone affecte tous les hôtes de calcul physiques et le stockage NFS. Ces défaillances peuvent être des pannes de courant, de ventilation, de réseau ou de stockage ou être dues à des catastrophes naturelles, telles que des inondations, des tremblements de terre ou des ouragans. Pour se prémunir contre une défaillance de zone, il faut disposer de clusters dans deux zones différentes dont la charge est équilibrée par un équilibreur de charge externe, créer un cluster dans un emplacement multizone, qui répartit le maître entre les zones, ou envisager la mise en place d'un second cluster dans une autre zone.
Clusters multizones
Classique VPC
Les clusters multizones répartissent les charges de travail sur plusieurs nœuds de travail et zones, créant ainsi une protection supplémentaire contre les défaillances de zones. Les nœuds de travail sont automatiquement déployés avec trois répliques réparties sur plusieurs zones. Si une zone entière subit une panne, votre charge de travail est planifiée sur des nœuds de travail dans les autres zones, protégeant ainsi votre application de la panne.
Chaque région est configurée avec un équilibreur de charge à haute disponibilité accessible à partir du noeud final d'API spécifique à la région. L'équilibreur de charge achemine les demandes entrantes et sortantes aux clusters sur les différentes zones régionales. La probabilité d'une défaillance totale au niveau de la région est faible. Toutefois, pour prendre en compte cette défaillance, vous pouvez configurer plusieurs clusters dans différentes régions et les connecter entre eux au moyen d'un équilibreur de charge externe. Si une région entière tombe en panne, le cluster situé dans l'autre région peut prendre le relais.
Par exemple, vous déployez votre cluster multizone dans une région métropolitaine, telle que sydney, et trois répliques sont automatiquement réparties
dans les trois zones de la région métropolitaine, telles que au-syd-1, au-syd-2 et au-syd-3. Si les ressources d'une zone deviennent indisponibles, les charges de travail de vos clusters restent opérationnelles
dans les autres zones.
Un cluster présent dans plusieurs régions nécessite plusieurs ressources de cloud et, en fonction de votre application, peut s'avérer complexe et coûteux. Vérifiez si vous avez besoin d'une configuration sur plusieurs régions ou si vous pouvez tolérer une interruption de service potentielle. Si vous souhaitez configurer un cluster sur plusieurs régions, assurez-vous que votre application et les données peuvent être hébergées dans une autre région et que votre application peut traiter la réplication globale des données.
Plusieurs grappes reliées par des équilibreurs de charge
Classique VPC
Pour protéger votre application d'une défaillance du maître, vous pouvez créer plusieurs clusters dans différentes zones d'une même région et les connecter à un équilibreur de charge global. Cette option est utile si vous devez provisionner un cluster dans un centre de données classique avec une seule zone, mais que vous voulez quand même bénéficier de la disponibilité multizone.
Pour connecter plusieurs clusters à un équilibreur de charge global, les clusters doivent être configurés avec une connectivité réseau publique et vos apps doivent être exposées via Ingress, routes, ou avec un Kubernetes service d'équilibreur de charge.
Pour équilibrer votre charge de travail sur plusieurs clusters, vous devez mettre en place un équilibreur de charge global via Cloud Internet Services (CIS) et ajouter les adresses IP publiques de vos ALB ou de vos services d'équilibreur de charge à votre domaine. En ajoutant ces adresses IP, vous pouvez acheminer le trafic entrant entre vos clusters.
Pour que l'équilibreur de charge global détecte l'indisponibilité d'un de vos clusters, envisagez d'ajouter un diagnostic d'intégrité à base de commande ping pour toutes les adresses IP. Lorsque vous configurez ce diagnostic, votre fournisseur DNS envoie régulièrement une commande ping pour tester les adresses IP que vous avez ajoutées dans votre domaine. Si une adresse IP devient indisponible, le trafic n'est plus adressé à cette adresse IP. Cependant, Kubernetes ne redémarre pas automatiquement les pods du cluster indisponible sur les noeuds worker des clusters disponibles. Si vous souhaitez qu' Kubernetes redémarre automatiquement les pods dans les clusters disponibles, pensez à configurer un cluster multizone.
Clusters à zone unique
Classique
Les nœuds de travail sont répartis sur des hôtes physiques distincts au sein d'une même zone. Cette option permet de se prémunir contre certaines pannes, par exemple lors d'une mise à jour principale, et est plus simple à gérer. Cependant, il ne protège pas vos applications si une zone entière subit une panne. Si vous constatez ultérieurement que la disponibilité est un problème, les clusters à zone unique déployés à certains endroits peuvent être convertis ultérieurement en clusters multizones.
Si votre cluster a été créé avec tous les nœuds de travail situés dans une seule zone, le maître « Kubernetes » de votre cluster classique bénéficie d’une haute disponibilité et comprend des hôtes physiques distincts pour votre serveur API maître, etcd, votre planificateur et votre gestionnaire de contrôleurs, afin de vous protéger contre toute interruption de service, par exemple lors d’une mise à jour du maître. Vous pouvez ajouter des nœuds de travail supplémentaires à votre cluster de zone unique afin d'améliorer la disponibilité et d'ajouter une protection en cas de défaillance d'un nœud de travail.
En cas de défaillance d'un noeud worker, les instances d'application sur les noeuds worker disponibles continuent à s'exécuter. Kubernetes replanifie automatiquement les pods des noeuds worker indisponibles pour que les performances et la capacité de votre application soient assurées. Pour vous assurer que vos pods sont répartis de manière homogène entre les nœuds de travail, mettez en place l'affinité des pods.
Sélectionner un type de cluster
Les versions et les niveaux d'isolement de noeud worker disponibles dépendent de votre plateforme de conteneur, du type de cluster, du fournisseur d'infrastructure que vous souhaitez utiliser et de l'emplacement d'IBM Cloud Kubernetes Service dans lequel vous souhaitez créer votre cluster. Vous pouvez choisir entre Classic, VPC ou Satellite clusters. Le type de cluster dont vous avez besoin dépend des choix que vous avez faits concernant le nombre de clusters et leur emplacement.
- Clusters de VPC
- Les nœuds de travail sont déployés sous forme d'instances de serveurs virtuels sur l'infrastructure VPC. Le VPC est le type d'infrastructure recommandé pour les nouveaux clusters. Il assure par défaut l'isolation du réseau et prend en charge les dernières fonctionnalités d' IBM Cloud Kubernetes Service, notamment les hôtes dédiés et la sécurité par défaut.
- Clusters Satellite
- Les nœuds de travail sont déployés sur votre propre infrastructure, qu'il s'agisse de matériel sur site ou de machines virtuelles hébergées chez d'autres fournisseurs de services cloud tels que AWS, Azure et GCP. Utilisez Satellite lorsque vous devez exécuter des clusters gérés par IBM Cloud en dehors des centres de données IBM Cloud.
- Clusters classiques
- Les nœuds de travail sont déployés sur des machines virtuelles ou physiques au sein de l'infrastructure classique d' IBM Cloud. Optez pour Classic si vous avez besoin de nœuds de travail « bare metal », de configurations de stockage défini par logiciel (SDS) ou de connexions à des ressources d'infrastructure classique existantes.
Sélectionner un système d'exploitation pour le cluster
Les systèmes d'exploitation disponibles dépendent du type de cluster choisi.
- Ubuntu 24
- Pour plus d'informations, voir les notes de mise à jour Ubuntu 24.04. Notez qu'avec Ubuntu 24, NTP utilise
timesyncdet les commandes correspondantes peuvent être mises à jour.
Vous passez à un nouveau système d'exploitation? Voir Migration vers une nouvelle version de Ubuntu.
Définir une stratégie de dénomination des clusters
Veillez à attribuer des noms uniques aux clusters dans les groupes de ressources et les régions de votre compte pour éviter les conflits de noms. Vous ne pouvez pas renommer un cluster après sa création.
Déterminer le nombre de nœuds de travail pour chaque cluster
Le niveau de disponibilité que vous avez configuré pour votre cluster a une incidence sur la couverture que vous recevez dans le cadre de l'accord sur les niveaux de service IBM Cloud. Par exemple, pour recevoir une couverture haute disponibilité selon les termes du contrat de service, vous devez configurer un cluster multizone avec un total d'au moins 6 nœuds de travail, deux nœuds de travail par zone qui sont répartis également sur trois zones.
Le nombre total de noeuds worker que contient un cluster détermine la capacité de calcul disponible pour vos applications dans ce cluster. Vous pouvez protéger votre installation en cas de défaillance d'un nœud de travail en configurant plusieurs nœuds de travail dans votre cluster. Les pannes des nœuds de travail peuvent inclure des défaillances matérielles, telles que des problèmes d'alimentation, de refroidissement ou de réseau, ainsi que des problèmes au niveau de l' VM e lui-même.
-
Clusters multizones Classic VPC: Prévoyez au moins deux nœuds de travail par zone, soit six nœuds au total répartis sur trois zones. En outre, planifiez la capacité totale du cluster à au moins 150 % de votre capacité requise totale de charge de travail, de sorte que si une zone tombe en panne, vous disposiez de ressources disponibles pour la gestion de la charge de travail.
-
Clusters à zone unique: prévoyez d'avoir au moins trois nœuds de travail dans votre cluster. De plus, vous souhaitez un noeud supplémentaire de capacité d'unité centrale et de mémoire disponible dans le cluster. Si vos applications nécessitent moins de ressources que celles disponibles sur le nœud de travail, vous pouvez éventuellement limiter le nombre de pods que vous déployez sur un nœud de travail.
Remarque :
- Vous pouvez essayer le cluster autoscaler pour être sûr d'avoir toujours assez de nœuds de travail pour couvrir votre charge de travail.
- Kubernetes limite le nombre maximal de noeuds worker dont vous pouvez disposer dans un cluster. Pour plus d'informations, consultez la section sur les quotas des nœuds de travail et des pods.
Sélectionner les saveurs des nœuds de travail
Un nœud de travail est une instance d' VM qui s'exécute sur du matériel physique. Une version de noeud A worker décrit les ressources de calcul, telles que l'unité centrale, la mémoire et la capacité de disque que vous pouvez obtenir lorsque vous mettez à disposition votre noeuds worker. Les noeuds worker de la même version sont regroupés dans des pools de noeuds worker.
Lorsque vous avez choisi un type de cluster, vous avez déjà réfléchi à l'impact de l'emplacement de la saveur des nœuds de travail et du type de machine sur votre décision. Au moment de choisir entre les différents types de nœuds de travail, tenez compte des éléments suivants.
-
Tenancy: En fonction du niveau d'isolation matérielle dont vous avez besoin, les nœuds de travailleur virtuel peuvent être partagés par plusieurs clients (multitenancy) ou vous être dédiés (single tenancy). Les machines "bare metal" sont toujours configurées comme des machines dédiées. Lorsque vous devrez choisir entre des nœuds partagés et des nœuds dédiés, il peut être judicieux de consulter votre service juridique afin de discuter du niveau d'isolation de l'infrastructure et de conformité requis par l'environnement de votre application.
- Partage: les ressources physiques, telles que le processeur et la mémoire, sont partagées entre toutes les machines virtuelles déployées sur le même matériel physique. Pour permettre à chaque machine virtuelle d'opérer indépendamment, un moniteur de machine virtuelle, également dénommé hyperviseur, segmente les ressources physiques en entités isolées et les alloue à une machine virtuelle en tant que ressources dédiées (isolement par hyperviseur). Les noeuds partagés sont généralement moins coûteux que les noeuds dédiés, car les coûts du matériel sous-jacent sont partagés entre plusieurs clients.
- Dédié: Toutes les ressources physiques vous sont réservées. Vous pouvez déployer plusieurs noeuds worker en tant que machines virtuelles sur le même hôte physique. A l'instar de la configuration à service partagé, l'hyperviseur veille à ce que chaque noeud worker ait sa part des ressources physiques disponibles.
-
Type de machine: Vous avez le choix entre plusieurs types de machines.
-
Machines virtuelles: Pour une plus grande flexibilité, des temps de provisionnement plus rapides, des fonctions d'évolutivité plus automatiques et un prix plus rentable, utilisez des machines virtuelles. Vous pouvez utiliser des machines virtuelles pour la plupart des cas d'utilisation généraux, par exemple les environnements de test et de développement, les environnements de préproduction et de production, les microservices et les applications métier. Cela a toutefois un impact sur les performances.
-
Machines « bare metal » (physiques): si vous avez besoin de capacités de calcul hautes performances pour des charges de travail gourmandes en données ou en mémoire vive, envisagez de créer des clusters avec des nœuds de travail « bare metal ». Etant donné que vous disposez d'un contrôle total sur l'isolement et la consommation de ressources pour vos charges de travail, vous pouvez utiliser des machines bare metal pour respecter les normes HIPAA et PCI pour votre environnement. Le type bare metal vous permet d'accéder directement aux ressources physiques sur la machine, par exemple à la mémoire ou à l'UC. Cette configuration élimine l'hyperviseur de machine virtuelle qui alloue des ressources physiques aux machines virtuelles qui s'exécutent sur l'hôte. Au lieu de cela, toutes les ressources d'une machine bare metal sont exclusivement réservées au travailleur, de sorte que vous n'avez pas à vous inquiéter des « voisins bruyantes » partageant des ressources ou ralentissant les performances. Les versions physiques ont davantage de capacité de stockage local que les machines virtuelles et certaines disposent de disques RAID pour augmenter la disponibilité des données. Le stockage local sur le nœud de travail est réservé au traitement à court terme; les disques principal et auxiliaire sont effacés lorsque vous mettez à jour ou rechargez le nœud de travail. Des techniciens spécialisés dans les serveurs « bare metal » sont disponibles pour les clusters classiques et pour les configurations « bare metal » VPC.
La facturation des nœuds de travail « bare metal » varie selon le type d'infrastructure. Les serveurs « bare metal » classiques font l'objet d'une facturation mensuelle. Si vous résiliez un serveur « bare metal » classique avant la fin du mois, vous serez facturé jusqu'à la fin de ce mois. Une fois que vous avez commandé ou annulé un serveur « bare metal » classique, la procédure est traitée manuellement dans votre compte d'infrastructure IBM Cloud; son exécution peut donc prendre plus d'un jour ouvré. Les serveurs « bare metal » VPC sont facturés à l'heure, sans période d'engagement minimale.
-
Machines SDS: Les saveurs de stockage défini par logiciel (SDS) ont des disques bruts supplémentaires pour le stockage local physique. Contrairement au disque local principal et au disque local auxiliaire, ces disques bruts ne sont pas effacés lors de la mise à jour ou du redémarrage d'un nœud de travail. Comme les données sont colocalisées avec le noeud de traitement, les machines SSD conviennent particulièrement aux charges de travail hautes performances. Les versions de stockage définies par le logiciel ne sont disponibles que pour les clusters classiques et ne sont pas prises en charge dans les clusters VPC.
Etant donné que vous disposez d'un contrôle total sur l'isolement et la consommation de ressources pour vos charges de travail, vous pouvez utiliser des machines SDS pour respecter les normes HIPAA et PCI pour votre environnement.
En général, vous utilisez les machines SDS dans les cas suivants : * Si vous utilisez un module complémentaire SDS tel que Portworx, utilisez une machine SDS. * Si votre application est une StatefulSet qui nécessite un stockage local, vous pouvez utiliser des machines SDS et provisionner des volumes persistants locaux Kubernetes. * Si vous disposez d'applications personnalisées qui nécessitent du stockage local brut supplémentaire.
-
-
Coût: en règle générale, vos charges de travail intensives sont mieux adaptées à l'exécution sur des machines physiques « bare metal », tandis que pour les activités de test et de développement à moindre coût, vous pouvez opter pour des machines virtuelles sur du matériel partagé ou dédié.
-
Localisation: Déterminez les lieux où vous souhaitez installer un cluster. L'endroit où vous le souhaitez peut également déterminer le nombre ou le type de grappes dont vous avez besoin. Par exemple, si vous savez que vous avez besoin d'un lieu à Montréal, cela vous aidera à réduire vos choix. Consultez les lieux disponibles.
-
Taille: les nœuds de plus grande taille peuvent s'avérer plus rentables que les nœuds plus petits, en particulier pour les charges de travail conçues pour gagner en efficacité lorsqu'elles sont traitées sur une machine haute performance. Toutefois, en cas de panne d'un nœud de travail important, vous devez vous assurer que votre cluster dispose d'une capacité suffisante pour réaffecter en toute sécurité tous les pods de charge de travail à d'autres nœuds de travail du cluster. Des nœuds de travail plus petits peuvent vous aider à évoluer en toute sécurité. En savoir plus sur la capacité.
-
GPU: Vous pouvez utiliser une machine GPU pour accélérer le temps de traitement requis pour les charges de travail à forte intensité de calcul telles que l'IA, l'apprentissage automatique, l'inférence, etc.
-
Stockage: chaque instance « VM » est fournie avec un disque intégré destiné au stockage des informations nécessaires au fonctionnement de l’ VM, telles que le système de fichiers du système d’exploitation, le runtime du conteneur et l’
kubelet. Le stockage local sur le noeud worker est conçu pour un traitement à court terme uniquement et les disques de stockage sont effacés lorsque vous supprimez, rechargez, remplacez ou mettez à jour le noeud worker. De plus, l'infrastructure classique et l'infrastructure VPC diffèrent en matière de configuration de disque.- Machines virtuelles classiques : Les machines virtuelles classiques ont deux disques connectés. Le disque de stockage principal dispose de 25 Go pour le système de fichiers du système d'exploitation, tandis que le disque
de stockage auxiliaire dispose de 100 Go pour les données telles que le runtime des conteneurs et l'
kubelet. Pour des raisons de fiabilité, les volumes de stockage principal et auxiliaire sont des disques locaux plutôt que des réseaux de stockage (SAN). Un réseau SAN procure, entre autres, une capacité de traitement plus élevée lors de la sérialisation des octets sur le disque local et réduit les risques de dégradation du système de fichiers en cas de défaillance du réseau. Le disque auxiliaire est chiffré par défaut. - Machines virtuelles de calcul VPC : les machines virtuelles VPC comportent un disque principal qui correspond à un volume de stockage par blocs connecté via le réseau. La couche de stockage n'est pas séparée des autres
couches réseau, et le trafic réseau et le trafic de stockage sont routés sur le même réseau. Le disque de stockage principal est utilisé pour stocker des données, telles que le système de fichiers de système d'exploitation, l'environnement
d'exécution de conteneur et
kubelet, et est chiffré par défaut. Pour les clusters VPC, vous pouvez également fournir un disque secondaire sur vos nœuds de travail. Ce disque optionnel est mis à disposition dans votre compte et vous pouvez le consulter dans la console VPC. Les frais relatifs à ces disques sont distincts du coût de chaque travailleur et figurent sur une ligne différente de votre facture. Ces volumes secondaires sont également pris en compte dans le calcul de l'utilisation du quota de votre compte. Afin d'éviter l'expulsion par défaut des pods, 10 % du disque de données de l' Kubernetes (disque auxiliaire dans Classic, disque de démarrage principal dans VPC) est réservé aux composants système.
Dans une application avec état, les données jouent un rôle important pour maintenir votre application opérationnelle. Assurez-vous de la haute disponibilité de vos données pour pouvoir les récupérer suite à une défaillance éventuelle. Dans IBM Cloud Kubernetes Service, vous pouvez choisir parmi plusieurs options pour conserver vos données. Par exemple, vous pouvez mettre à disposition du stockage NFS en utilisant des volumes persistants Kubernetes natifs, ou stocker vos données en utilisant un service de base de données IBM Cloud. Pour plus d'informations, consultez la section « Planification de la haute disponibilité des données ».
Choisissez une version ou un type de machine doté de la configuration de stockage adaptée à votre charge de travail. Certaines versions comportent un mélange de configurations de stockage et de disques suivant. Par exemple, certaines versions peuvent comporter un disque principal SATA avec un disque secondaire SSD RAW.
- Machines virtuelles classiques : Les machines virtuelles classiques ont deux disques connectés. Le disque de stockage principal dispose de 25 Go pour le système de fichiers du système d'exploitation, tandis que le disque
de stockage auxiliaire dispose de 100 Go pour les données telles que le runtime des conteneurs et l'
Pour une liste des saveurs disponibles, voir Saveurs VPC ou Saveurs classiques.
Déterminer la capacité des nœuds de travail pour les ressources
Pour tirer le meilleur parti des performances de votre nœud de travail, tenez compte des éléments suivants lors de la configuration de vos ressources :
-
Considérez ce que fait votre application: Commencez par aligner la taille de l'application sur la capacité de l'un des nœuds de travail disponibles. Pensez également à vérifier si votre application récupère des images volumineuses ou en grand nombre, car celles-ci peuvent occuper de l'espace de stockage local sur le nœud de travail.
-
Maintenir la puissance de vos coeurs : chaque machine comporte un certain nombre de coeurs. En fonction de la charge de travail de votre application, définissez une limite pour le nombre de pods par coeur, par exemple, 10.
-
Évitez la surcharge des nœuds: maintenez la capacité de votre nœud de travail à environ 75 % afin de laisser de la place pour d'autres pods qui pourraient devoir être planifiés. Si vos applications requièrent un nombre de ressources supérieur au nombre de ressources disponibles sur votre noeud worker, utilisez une autre version de noeud worker susceptible de répondre à ces exigences. En fonction de la charge de travail de votre application, définissez une limite pour le nombre de pods par noeud, par exemple, 40.
-
Choisir les services: Combien d'intégrations de services avez-vous décidé d'inclure lorsque vous avez réfléchi au nombre de clusters à créer ? Ces services intégrés et ces modules complémentaires peuvent créer des pods qui consomment les ressources du cluster et ont un impact sur celles-ci.
-
Répliques de votre application : pour déterminer le nombre de noeuds worker dont vous avez besoin, vous pouvez également prendre en compte le nombre de répliques de votre application que vous souhaitez exécuter. Par exemple, si vous savez que votre charge de travail requiert 32 coeurs d'unité centrale et que vous planifiez d'exécuter 16 répliques de votre application, chaque pod de réplique a besoin de 2 coeurs d'unité centrale. Si vous souhaitez n'exécuter qu'un seul pod par d'application par noeud worker, vous pouvez commander un nombre approprié de noeuds worker pour votre type de cluster afin de prendre en charge cette configuration.
-
Laissez de la place pour les exigences d'exécution: Les nœuds de travail doivent réserver certaines quantités de ressources CPU et mémoire pour exécuter les composants requis, tels que le système d'exploitation ou le runtime du conteneur.
La capacité réservée et les instances réservées ne sont pas prises en charge.
Choisir le nombre d'espaces de noms à créer au sein du cluster
Configurez plusieurs espaces de noms lorsque plusieurs équipes et projets se partagent le cluster. Les espaces de nommage sont un moyen de diviser les ressources d'un cluster en utilisant des quotas de ressources et des limites par défaut. Lorsque vous créez de nouveaux espaces de noms, prenez soin de configurer les règles RBAC appropriées pour contrôler les accès. Pour plus d'informations, consultez la section « Partager un cluster avec des espaces de noms » dans la documentation d' Kubernetes.
Si vous disposez d'un cluster de petite taille, de deux douzaines d'utilisateurs et de ressources qui sont similaires (par exemple, différentes versions d'un même logiciel), vous n'aurez probablement pas besoin de plusieurs espaces de noms. Vous pourrez utiliser des libellés à la place.
Examinez les informations de sécurité relatives à cette décision dans Isolation et sécurité des conteneurs.
Établir les demandes et les limites de ressources pour les espaces nominatifs
Pour vous assurer que chaque équipe dispose des ressources nécessaires pour déployer des services et exécuter des applications dans le cluster, vous devez définir des quotas de ressources pour chaque espace de noms. Les quotas de ressources déterminent les contraintes de déploiement, telles que le nombre de ressources « Kubernetes » que vous pouvez déployer, ainsi que la quantité de CPU et de mémoire pouvant être consommée par ces ressources. Après avoir défini un quota, les utilisateurs doivent inclure des limites et des demandes de ressources dans leurs déploiements.
Lorsque vous créez un déploiement, veillez également à le limiter de manière à ce que le pod de votre application ne soit déployé que sur les machines offrant la meilleure combinaison de ressources. Par exemple, vous souhaiterez peut-être limiter
une application de base de données à une machine bare metal avec une quantité significative de stockage sur disque local, par exemple, md1c.28x512.4x4tb.
Faites en sorte que vos applications soient également hautement disponibles
De par leur conception, les conteneurs ont une durée de vie brève et ne sont pas à l'abri de défaillances inattendues. Par exemple, un conteneur ou un pod peuvent tomber en panne si une erreur est survenue dans votre application. Pour garantir une haute disponibilité à votre application, vous devez vous assurer de disposer d'un nombre suffisant d'instances pour gérer la charge de travail, ainsi que d'instances supplémentaires en cas de panne. Vous pouvez vous assurer qu'il y a suffisamment d'instances en configurant la mise à l'échelle automatique.
Etapes suivantes
Pour poursuivre le processus de planification, choisissez entre Mise en réseau de clusters VPC et Mise en réseau de clusters classiques. Si vous êtes prêt à créer un cluster, commencez par Préparer votre compte pour créer des clusters.