|
Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi. |
Conseils pour exécuter SUSE Rancher Prime
Ce guide est destiné aux cas d’utilisation où Rancher est utilisé pour gérer des clusters Kubernetes en aval. La configuration à haute disponibilité vise à éviter de perdre l’accès aux clusters en aval si le serveur Rancher n’est pas disponible.
Une installation Kubernetes à haute disponibilité, définie comme une installation de Rancher sur un cluster Kubernetes avec au moins trois nœuds, doit être utilisée dans toute installation de production de Rancher, ainsi que dans toute installation jugée "importante". Plusieurs instances de Rancher fonctionnant sur plusieurs nœuds garantissent une haute disponibilité qui ne peut être réalisée avec un environnement à nœud unique.
Si vous installez Rancher dans un environnement vSphere, référez-vous aux meilleures pratiques documentées ici.
Lorsque vous configurez votre installation Rancher à haute disponibilité, considérez les éléments suivants :
Minimiser les logiciels tiers sur le cluster en amont
Nous recommandons généralement d’exécuter Rancher sur un cluster dédié, exempt d’autres charges de travail, pour éviter d’éventuels problèmes de performance et de compatibilité.
Rancher, en particulier lorsqu’il gère un nombre croissant de clusters, de nœuds et de charges de travail, impose une charge importante sur les composants noyau de Kubernetes, tels que etcd et kube-apiserver sur le cluster en amont. Les logiciels tiers peuvent interférer avec la performance de ces composants et de Rancher, ce qui peut entraîner une instabilité.
De plus, les logiciels tiers peuvent interférer fonctionnellement avec Rancher. Pour minimiser les risques de compatibilité, déployez uniquement les composants système Kubernetes essentiels et Rancher sur le cluster en amont.
Les applications et composants suivants n’interfèrent généralement pas avec Rancher ou le système Kubernetes, et leur installation sur le cluster en amont est supportée :
-
Composants internes de Rancher, tels que Fleet
-
Extensions de Rancher
-
Composants de l’API Cluster
-
CNIs, CPIs, CSIs
-
Gestionnaires de contrôleurs de cloud
-
Outils d’observabilité et de surveillance (sauf prometheus-rancher-exporter)
Notez que chacun de ces composants a ses propres exigences minimales en matière de ressources, qui doivent être respectées en plus de celles de Rancher. Pour les déploiements à grande échelle, envisagez également de consacrer des nœuds séparés à des logiciels non-Rancher en utilisant taints et tolerations pour minimiser les interférences.
D’autres logiciels peuvent interférer avec Rancher et ne sont donc pas pris en charge sur le cluster en amont.
Notez en particulier que les logiciels suivants sont connus pour interférer avec les performances de Rancher :
-
Registres de conteneurs tels que SUSE Private Registry, qui peuvent nécessiter une bande passante significative pour servir des images
Conseils pour les registres de conteneurs
Les registres de conteneurs, tels que SUSE Private Registry, peuvent consommer une bande passante réseau significative lors du service d’images. Cette demande augmente avec le nombre d’images, la fréquence des extractions d’images et la quantité de clusters et d’environnements d’exécution de conteneur qu’ils servent. En raison de ce potentiel d’interférence avec l’interface utilisateur et le trafic API de Rancher, nous recommandons de ne pas exécuter de registres de conteneurs sur le même cluster que le serveur de gestion Rancher.
Quelle que soit votre stratégie de déploiement pour un registre de conteneurs, assurez-vous qu’une bande passante suffisante est disponible, idéalement réservée à l’aide de mécanismes de qualité de service (QoS).
Considérez les recommandations suivantes en fonction de vos besoins :
-
Configurations simples (HA non préoccupante) : Un registre de conteneurs déployé en tant que machine virtuelle (VM) unique peut être une solution viable.
-
Exigences de haute disponibilité (HA) : Nous recommandons d’exécuter le registre dans un cluster Kubernetes dédié. Tous les autres clusters doivent ensuite être configurés pour tirer des images de ce registre centralisé et HA.
-
Topologies de réseau très à grande échelle ou complexes : Plusieurs clusters de registre peuvent être nécessaires. Ceci peut être déployé dans un modèle hiérarchique ou fédéré pour distribuer efficacement les images et gérer le trafic.
Assurez-vous que les nœuds sont configurés correctement pour Kubernetes.
Il est important de suivre les meilleures pratiques de K8s et d’etcd lors du déploiement de vos nœuds, y compris la désactivation du swap, la vérification que vous avez une connectivité réseau complète entre toutes les machines du cluster, l’utilisation de noms d’hôtes uniques, d’adresses MAC et d’UUID de produit pour chaque nœud, la vérification que tous les ports corrects sont ouverts, et le déploiement avec etcd soutenu par disque SSD. Plus de détails peuvent être trouvés dans la documentation Kubernetes et le guide de performance d’etcd.
Exécutez tous les nœuds du cluster dans le même centre de données.
Pour de meilleures performances, exécutez vos trois nœuds dans le même centre de données géographique. Si vous exécutez des nœuds dans le cloud, comme AWS, exécutez chaque nœud dans une zone de disponibilité distincte. Par exemple, lancez le nœud 1 dans us-west-2a, le nœud 2 dans us-west-2b, et le nœud 3 dans us-west-2c.
Les environnements de développement et de production doivent être similaires.
Il est fortement recommandé d’avoir un environnement de "staging" ou de "pré-production" du cluster Kubernetes sur lequel Rancher fonctionne. Cet environnement doit refléter votre environnement de production aussi étroitement que possible en termes de configuration logicielle et matérielle.
Surveillez vos clusters pour planifier la capacité.
Le cluster Kubernetes du serveur Rancher doit fonctionner dans les exigences système et matérielles aussi étroitement que possible. Plus vous vous éloignez des exigences système et matérielles, plus vous prenez de risques.
Cependant, l’analyse de planification de capacité basée sur des métriques devrait être le guide ultime pour le dimensionnement de Rancher, car les exigences publiées prennent en compte une variété de types de charges de travail.
En utilisant Rancher, vous pouvez surveiller l’état et les processus de vos nœuds de cluster, des composants Kubernetes et des déploiements logiciels grâce à l’intégration avec Prometheus, une solution de surveillance Open Source de premier plan, et Grafana, qui vous permet de visualiser les métriques de Prometheus.
Après avoir activé la surveillance dans le cluster, vous pouvez configurer des alertes pour vous informer si votre cluster approche de sa capacité. Vous pouvez également utiliser le cadre de surveillance Prometheus et Grafana pour établir une référence pour les métriques clés à mesure que vous évoluez.