6 dépôts
Configuring the execution environment using a mix of shared, labeled, or private nodes.
Distinct from Private Worker Node Provisioning: Covers the strategic configuration of node types (shared vs private) rather than just provisioning private nodes
Explore 6 awesome GitHub repositories matching devops & infrastructure · Virtual Node Configuration. Refine with filters or upvote what's useful.
vcluster is a Kubernetes virtual cluster platform that creates fully isolated Kubernetes environments with dedicated control planes, API servers, and RBAC on shared physical infrastructure. It virtualizes Kubernetes control planes by running them as pods inside a host cluster, as standalone binaries on bare metal or virtual machines, or within Docker containers, providing each tenant their own isolated Kubernetes environment without the overhead of managing separate physical clusters. The platform enables multi-tenant Kubernetes isolation through multiple tenancy models, from shared node pool
Sandboxes tenant containers on shared nodes using virtual nodes without hypervisor overhead.
Agones is a Kubernetes game server orchestrator designed for hosting, scaling, and managing dedicated multiplayer game servers. It extends the Kubernetes control plane using custom resource definitions to define game server and fleet objects, utilizing a dedicated fleet manager to maintain pools of warm server instances. The system provides a game server SDK and language-specific client libraries that allow server processes to signal readiness, health, and shutdown states directly to the controller. It distinguishes itself through specialized scaling logic, including the use of WebAssembly mo
Uses Kubernetes taints and tolerations to schedule controllers on dedicated node pools to ensure system stability.
Auto generated skeleton loading framework
Adjusts bone positions at runtime to match the user's text size setting, keeping placeholders aligned with the real layout.
Descheduler est un rééquilibreur de charge de travail et gestionnaire d'éviction de pods pour Kubernetes, conçu pour optimiser la distribution des ressources et maintenir la stabilité du cluster. Il identifie et supprime les pods qui ne satisfont plus les contraintes de planification ou les exigences de santé, permettant au cluster de les relocaliser sur des nœuds plus appropriés. Le projet fournit des capacités spécialisées pour équilibrer l'utilisation des ressources des nœuds, appliquer des contraintes de répartition topologique et supprimer les pods en double pour améliorer la distribution. Il fonctionne également comme une aide à l'autoscaling en compactant les charges de travail sur moins de nœuds pour faciliter la réduction de l'infrastructure inutilisée. Le système couvre un large éventail de tâches de maintenance, incluant le nettoyage des pods échoués, instables ou vieillissants, et l'application des règles d'affinité et de taints des nœuds. Il inclut des mécanismes de sécurité tels que la validation de la compatibilité de planification pour garantir que les pods peuvent être replanifiés avant l'éviction, le filtrage basé sur les labels pour protéger les charges de travail critiques, et un mode "dry-run" pour prévisualiser les changements. L'utilitaire peut être déployé en tant que processus d'arrière-plan continu ou tâche cron récurrente, et supporte la haute disponibilité via l'élection de leader.
Evicts workloads from nodes with specific taints to facilitate automated node recovery and scaling.
Cluster API est un framework déclaratif et un système de gestion multi-cluster pour automatiser la création, la mise à l'échelle et la destruction de clusters Kubernetes à travers diverses infrastructures. Il agit comme un orchestrateur de provisionnement de cluster et un provisionneur d'infrastructure, utilisant un cluster de gestion centralisé pour opérer le cycle de vie complet de multiples clusters de travail distants. Le projet emploie une architecture de plugins basée sur des fournisseurs qui découple la logique d'orchestration centrale des implémentations cloud ou bare-metal spécifiques. Cela permet au système de standardiser le déploiement des plans de contrôle, l'initialisation des nœuds et la gestion de l'infrastructure via un ensemble de contrats de ressources communs et de définitions d'API. Le système couvre une large surface de capacités opérationnelles, incluant l'orchestration de flottes de machines, la mise à l'échelle du plan de contrôle et les mises à niveau déclaratives de clusters. Il gère également les exigences d'infrastructure de bas niveau telles que la distribution des domaines de défaillance, la gestion des adresses IP et la rotation des certificats. Des outils de développement sont fournis pour la simulation de clusters, les tests d'infrastructure portable et le développement de fournisseurs d'initialisation et d'infrastructure personnalisés.
Transfers taints from high-level cluster resources down to the underlying physical nodes.
Tunny est une bibliothèque de pool de travailleurs (worker pool) et un gestionnaire de concurrence pour Go. Il fonctionne comme un planificateur de tâches concurrent qui limite le nombre de travailleurs parallèles traitant les travaux pour éviter l'épuisement des ressources système. Le projet permet le maintien d'un état persistant au sein des routines de travail individuelles pour éviter les coûts d'initialisation répétés. Il prend également en charge la mise à l'échelle dynamique des travailleurs, permettant d'ajuster le nombre de travailleurs en arrière-plan actifs en temps réel sans interrompre les tâches en cours. La bibliothèque fournit des mécanismes pour l'application de délais d'expiration (timeout) des tâches et la gestion du cycle de vie des travailleurs, y compris l'arrêt gracieux des pools de routines. Elle utilise la limitation de la concurrence pour restreindre le nombre total de goroutines actives.
Supports real-time adjustment of the number of active background workers based on demand.