Vue d'ensemble du projet
Katalyst-Core constitue le composant central du système Katalyst, conçu pour offrir une solution universelle permettant d'améliorer l'utilisation des ressources dans le cloud et d'optimiser les coûts globaux. L'architecture Katalyst repose sur plusieurs agents et composants centralisés avec les fonctionnalités principales suivantes :
- Modèle de qualité de service (QoS) : Fournit des modèles QoS prédéfinis et diverses fonctionnalités d'amélioration pour répondre aux exigences QoS de différentes charges de travail.
- Gestion élastique des ressources : Implémente des mécanismes de mise à l'échelle horizontale et verticale, ainsi qu'une extensible pour les algorithmes externes.
- Ordonnancement et allocation topologiques : Étend les fonctionnalités des ordonnanceurs natifs et des kubelets pour qu'ils puissent percevoir la topologie NUMA et les périphériques lors de l'ordonnancement des Pods et de l'allocation des ressources, améliorant ainsi les performances des charges de travail.
- Isolation granulaire des ressources : Propose des stratégies en temps réel et granulaires de surallocation, d'allocation et d'isolation des ressources, avec une analyse automatique des charges de travail pour chaque niveau de QoS.
Mise en rapide opération
Voici un guide de démarrage rapide pour déployer et exécuter Katalyst-Core.
Prérequis
Katalyst s'exécute sur des clusters Kubernetes améliorés par KubeWharf. Reportez-vous à la documentation de KubeWharf pour l'installation et la configuration.
Déploiement de Katalyst-Core
- Cloner le dépôt du projet : ```
git clone https://github.com/kubewharf/katalyst-core.git
cd katalyst-core
- Déployer Katalyst-Core : ```
kubectl apply -f deploy/katalyst-core.yaml
- Vérifier le déploiement : ```
kubectl get pods -n katalyst-system
Cas d'application et meilleures pratiques
Cas d'usage 1 : Amélioration de l'utilisation des ressources
Dans un environnement cloud typique, le taux d'utilisation des ressources est souvent sous-optimal. Grâce à Katalyst, il est possible d'implémenter une allocation et un ajustement dynamiques des ressources, améliorant ainsi leur utilisation. Par exemple, en configurant un modèle QoS, on garantit que les besoins en ressources des applications critiques sont satisfaits, tout en optimisant l'allocation des ressources pour les applications non critiques.
Cas d'usage 2 : Optimisation des coûts
La fonctionnalité de gestion élastique des ressources de Katalyst aide les utilisateurs à ajuster dynamiquement l'allocation des ressources en fonction des besoins réels, réduisant ainsi les coûts. Par exemple, une réduction automatique des ressources en dehors des heures de pointe, et une augmentation automatique pendant les pics d'activité permettent d'optimiser les dépenses.
Écosystème de projets
La solution Katalyst comprend trois principaux projets :
- Katalyst-API : Définitions d'API, incluant les CRD, protocoles et modèles QoS.
- Katalyst-Core : Implémentation centrale de Katalyst.
- Charts : Diagrammes Helm pour tous les projets KubeWharf.
Ces composants forment ensemble l'écosystème Katalyst, offrant aux utilisateurs une solution complète de gestion et d'optimisation des ressources.