awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
kubernetes-sigs avatar

kubernetes-sigs/controller-runtime

0
View on GitHub↗
2,917 星标·1,283 分支·Go·Apache-2.0·5 次浏览

Controller Runtime

该项目提供了一个用于构建 Kubernetes Operator 和自定义控制器的框架。它提供了一套旨在管理集群资源生命周期的库,使开发者能够通过事件驱动的协调循环将集群的实际状态与期望配置同步。

该框架的特色在于提供了一个由管理器编排的环境,可在单个进程内协调多个控制器和 Webhook。它内置了对乐观并发控制的支持以防止更新冲突,并利用内存中的 Informer 缓存来维护集群状态的同步本地视图,从而降低 API 服务器的负载。

除了核心协调功能外,该项目还包括用于基于模式的资源映射工具,允许注册自定义资源定义(CRD)。它还提供了准入控制机制,能够在数据持久化之前验证和变更资源请求以强制执行合规性。该框架包含一个专门的测试套件,可启动临时的、隔离的 API 服务器环境,以验证控制器逻辑是否符合实际集群行为。

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.

Star 历史

kubernetes-sigs/controller-runtime 的 Star 历史图表kubernetes-sigs/controller-runtime 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

包含 Controller Runtime 的精选搜索

收录 Controller Runtime 的精选合集。
  • Kubernetes Operator 开发框架
  • 并发任务执行运行时

Controller Runtime 的开源替代方案

相似的开源项目,按与 Controller Runtime 的功能重合度排序。
  • kubernetes-sigs/kubebuilderkubernetes-sigs 的头像

    kubernetes-sigs/kubebuilder

    8,992在 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
    在 GitHub 上查看↗8,992
  • operator-framework/operator-sdkoperator-framework 的头像

    operator-framework/operator-sdk

    7,658在 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
    在 GitHub 上查看↗7,658
  • kube-rs/kubekube-rs 的头像

    kube-rs/kube

    3,747在 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
    在 GitHub 上查看↗3,747
  • kube-logging/logging-operatorkube-logging 的头像

    kube-logging/logging-operator

    1,696在 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
    在 GitHub 上查看↗1,696
查看 Controller Runtime 的所有 30 个替代方案→

常见问题解答

kubernetes-sigs/controller-runtime 是做什么的?

该项目提供了一个用于构建 Kubernetes Operator 和自定义控制器的框架。它提供了一套旨在管理集群资源生命周期的库,使开发者能够通过事件驱动的协调循环将集群的实际状态与期望配置同步。

kubernetes-sigs/controller-runtime 的主要功能有哪些?

kubernetes-sigs/controller-runtime 的主要功能包括:Kubernetes Controllers, Kubernetes Operators, Reconciliation Loops, Local Control Plane Testing, Cluster State Reconciliation, Admission Controllers, In-Memory Caches, Optimistic Concurrency Control。

kubernetes-sigs/controller-runtime 有哪些开源替代品?

kubernetes-sigs/controller-runtime 的开源替代品包括: 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…