awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
kubernetes-sigs avatar

kubernetes-sigs/controller-runtime

0
View on GitHub↗
2,917 stars·1,283 forks·Go·Apache-2.0·5 vues

Controller Runtime

Ce projet fournit un framework pour construire des opérateurs Kubernetes et des contrôleurs personnalisés. Il offre un ensemble de bibliothèques conçues pour gérer le cycle de vie des ressources de cluster, permettant aux développeurs de synchroniser l'état réel d'un cluster avec une configuration souhaitée via des boucles de réconciliation pilotées par les événements.

Le framework se distingue en fournissant un environnement orchestré par gestionnaire qui coordonne plusieurs contrôleurs et webhooks au sein d'un seul processus. Il inclut un support intégré pour le contrôle de concurrence optimiste afin d'éviter les conflits de mise à jour et utilise la mise en cache en mémoire des informateurs pour maintenir une vue locale synchronisée de l'état du cluster, ce qui réduit la charge sur le serveur API.

Au-delà de la réconciliation de base, le projet inclut des outils pour le mappage de ressources basé sur schéma, permettant l'enregistrement de définitions de ressources personnalisées. Il fournit également des mécanismes pour le contrôle d'admission, permettant la validation et la mutation des requêtes de ressources pour appliquer la conformité avant que les données ne soient persistées. Le framework inclut une suite de test dédiée qui lance des environnements de serveur API éphémères et isolés pour valider la logique du contrôleur par rapport au comportement réel du cluster.

Features

  • Kubernetes Controllers - Implements a framework for building custom controllers that synchronize cluster state through declarative reconciliation loops.
  • Kubernetes Operators - Provides a framework for building custom controllers that watch cluster resources and execute logic to maintain a desired state.
  • Reconciliation Loops - Implements continuous control loops that converge cluster resources from their current state toward a desired target state.
  • Local Control Plane Testing - Spins up a local API server environment to validate controller logic against real cluster behavior during testing.
  • Cluster State Reconciliation - Synchronizes the state of cluster resources by watching for changes and executing custom logic to ensure the actual state matches the desired configuration.
  • Admission Controllers - The framework modifies incoming resource requests automatically by injecting or updating fields to ensure compliance with cluster-wide policies or defaults.
  • Admission Controllers - Intercepts resource creation or update requests to enforce custom business rules or inject default values before changes are persisted.
  • In-Memory Caches - Maintains a synchronized local copy of cluster state in memory to reduce API server load and accelerate reconciliation.
  • Optimistic Concurrency Control - Uses resource versioning and conditional updates to prevent conflicts when multiple processes modify the same cluster object.
  • Admission Webhooks - Intercepts resource creation and update requests to validate or mutate data before persistence to cluster storage.
  • Custom Resource Definitions - Maps data structures to specific API group-version-kinds to allow the system to recognize and manage custom resource definitions.
  • Kubernetes API Clients - Provides a comprehensive library for interacting with the Kubernetes API, managing resource schemas, and handling custom business logic.
  • Eventual Consistency Orchestrators - Handles potential cache staleness through optimistic locking, deterministic naming, or periodic requeueing to ensure eventual consistency.
  • Resource Mapping - Associates Go data structures with specific API group-version-kinds to enable automated serialization and management of custom resources.
  • Controller Lifecycle Management - Orchestrates the startup, shared caching, and graceful shutdown of multiple controllers and webhooks within a single process.
  • State Reconciliation - Maps multiple related objects to a single root object and enforces the desired state for that entire resource tree during each execution cycle.
  • API Testing Frameworks - Provides a testing suite that spins up a local API server to validate controller logic against real cluster behavior.
  • Kubernetes - Provides a dedicated testing suite that spins up ephemeral, isolated API server environments to validate controller logic against real cluster behavior.

Historique des stars

Graphique de l'historique des stars pour kubernetes-sigs/controller-runtimeGraphique de l'historique des stars pour kubernetes-sigs/controller-runtime

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Collections incluant Controller Runtime

Sélections manuelles où Controller Runtime apparaît.
  • Frameworks de développement d'opérateurs Kubernetes
  • un runtime pour exécuter des tâches concurrentes

Questions fréquentes

Que fait kubernetes-sigs/controller-runtime ?

Ce projet fournit un framework pour construire des opérateurs Kubernetes et des contrôleurs personnalisés. Il offre un ensemble de bibliothèques conçues pour gérer le cycle de vie des ressources de cluster, permettant aux développeurs de synchroniser l'état réel d'un cluster avec une configuration souhaitée via des boucles de réconciliation pilotées par les événements.

Quelles sont les fonctionnalités principales de kubernetes-sigs/controller-runtime ?

Les fonctionnalités principales de kubernetes-sigs/controller-runtime sont : Kubernetes Controllers, Kubernetes Operators, Reconciliation Loops, Local Control Plane Testing, Cluster State Reconciliation, Admission Controllers, In-Memory Caches, Optimistic Concurrency Control.

Quelles sont les alternatives open-source à kubernetes-sigs/controller-runtime ?

Les alternatives open-source à kubernetes-sigs/controller-runtime incluent : kubernetes-sigs/kubebuilder — Kubebuilder is a framework and set of scaffolding tools used to build Kubernetes APIs and controllers. It functions as… operator-framework/operator-sdk — The Operator SDK is a framework for building, packaging, and managing custom controllers that extend the Kubernetes… kube-rs/kube — Kube-rs is a Rust client library and runtime for interacting with the Kubernetes API server. It provides a type-safe… kube-logging/logging-operator — The logging operator is a Kubernetes-native controller designed to automate the deployment, configuration, and… fluxcd/flux2 — Flux is a Kubernetes GitOps delivery tool used to automate application deployments by synchronizing cluster state with… kubernetes/client-go — This project is a Go language library that provides a programmatic interface for interacting with the Kubernetes API…

Alternatives open source à Controller Runtime

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Controller Runtime.
  • kubernetes-sigs/kubebuilderAvatar de kubernetes-sigs

    kubernetes-sigs/kubebuilder

    8,992Voir sur GitHub↗

    Kubebuilder is a framework and set of scaffolding tools used to build Kubernetes APIs and controllers. It functions as an operator framework that provides generators for custom resource definitions, admission webhooks, and RBAC manifests to extend cluster functionality. The project distinguishes itself through marker-based code generation, which parses source code comments to automatically produce Kubernetes manifests and boilerplate logic. It employs a hub-and-spoke versioning model to translate data between multiple API versions and uses a three-way merge strategy to automate project migrat

    Gok8s-sig-api-machinery
    Voir sur GitHub↗8,992
  • operator-framework/operator-sdkAvatar de operator-framework

    operator-framework/operator-sdk

    7,658Voir sur GitHub↗

    The Operator SDK is a framework for building, packaging, and managing custom controllers that extend the Kubernetes API. It serves as a toolset for defining new API types and implementing reconcile loops to automate the lifecycles of complex applications. The project provides specialized support for creating operators based on Helm charts or Ansible playbooks, allowing users to maintain a desired cluster state using existing automation tools. It includes a dedicated system for packaging controllers into standardized container image bundles for distribution via the Operator Lifecycle Manager.

    Gokubernetesoperatorsdk
    Voir sur GitHub↗7,658
  • kube-rs/kubeAvatar de kube-rs

    kube-rs/kube

    3,747Voir sur GitHub↗

    Kube-rs is a Rust client library and runtime for interacting with the Kubernetes API server. It provides a type-safe interface for managing cluster resources and state, including a toolkit for defining custom resource definitions and a framework for building admission webhooks to validate or mutate API requests. The project distinguishes itself through a dedicated controller runtime that implements event-driven reconciliation loops to align actual cluster state with desired configurations. It utilizes a streaming system to monitor resource changes and synchronize remote states into a local qu

    Rustclientkubernetesruntime
    Voir sur GitHub↗3,747
  • kube-logging/logging-operatorAvatar de kube-logging

    kube-logging/logging-operator

    1,696Voir sur GitHub↗

    The logging operator is a Kubernetes-native controller designed to automate the deployment, configuration, and lifecycle management of log collection and routing infrastructure. By utilizing custom resource definitions, it provides a declarative framework for standardizing how container logs are captured, processed, and forwarded across distributed cluster environments. The project distinguishes itself through its support for multi-tenant logging architectures, allowing administrators to enforce namespace-scoped isolation for log collection and routing configurations. It employs a sidecar inj

    Gocloud-nativekuberneteskubernetes-operator
    Voir sur GitHub↗1,696
  • Voir les 30 alternatives à Controller Runtime→