kubefed

Kubernetes Cluster Federation

Github星跟蹤圖

Build Status
Go Report Card
Image Repository on Quay
LICENSE
Releases

Kubernetes Cluster Federation

Kubernetes Cluster Federation (KubeFed for short) allows you to coordinate the
configuration of multiple Kubernetes clusters from a single set of APIs in a
hosting cluster. KubeFed aims to provide mechanisms for expressing which
clusters should have their configuration managed and what that configuration
should be. The mechanisms that KubeFed provides are intentionally low-level, and
intended to be foundational for more complex multicluster use cases such as
deploying multi-geo applications and disaster recovery.

KubeFed is currently alpha and moving rapidly toward its initial
beta release.

Concepts

KubeFed is configured with two types of information:

  • Type configuration declares which API types KubeFed should handle
  • Cluster configuration declares which clusters KubeFed should target

Propagation refers to the mechanism that distributes resources to federated
clusters.

Type configuration has three fundamental concepts:

  • Templates define the representation of a resource common across clusters
  • Placement defines which clusters the resource is intended to appear in
  • Overrides define per-cluster field-level variation to apply to the template

These three abstractions provide a concise representation of a resource intended
to appear in multiple clusters. They encode the minimum information required for
propagation and are well-suited to serve as the glue between any given
propagation mechanism and higher-order behaviors like policy-based placement and
dynamic scheduling.

These fundamental concepts provide building blocks that can be used by
higher-level APIs:

  • Status collects the status of resources distributed by KubeFed across all federated clusters
  • Policy determines which subset of clusters a resource is allowed to be distributed to
  • Scheduling refers to a decision-making capability that can decide how
    workloads should be spread across different clusters similar to how a human
    operator would

Features, Feature, Maturity, Feature Gate, Default, ---------, ----------, --------------, ---------, Push propagation of arbitrary types to remote clusters, Alpha, PushReconciler, true, CLI utility (kubefedctl), Alpha, Generate KubeFed APIs without writing code, Alpha, Multicluster Service DNS via external-dns, Alpha, CrossClusterServiceDiscovery, true, Multicluster Ingress DNS via external-dns, Alpha, FederatedIngress, true, Replica Scheduling Preferences, Alpha, SchedulerPreferences, true, ## Guides

User Guide

Take a look at our user guide if you are interested in
using KubeFed.

Development Guide

Take a look at our development guide if you are
interested in contributing.

Community

Refer to the contributing guidelines if you would like to contribute to KubeFed.

Communication channels

KubeFed is sponsored by SIG Multicluster and it uses the same communication channels as SIG multicluster.

Code of Conduct

Participation in the Kubernetes community is governed by the
Kubernetes Code of Conduct.

主要指標

概覽
名稱與所有者kubernetes-retired/kubefed
主編程語言Go
編程語言Go (語言數: 5)
平台
許可證Apache License 2.0
所有者活动
創建於2018-01-09 14:21:03
推送於2023-03-24 21:50:24
最后一次提交2023-03-23 16:44:31
發布數34
最新版本名稱v0.10.0 (發布於 2022-08-10 11:03:59)
第一版名稱v0.0.1-test-fake (發布於 )
用户参与
星數2.5k
關注者數77
派生數532
提交數2.7k
已啟用問題?
問題數558
打開的問題數0
拉請求數822
打開的拉請求數0
關閉的拉請求數157
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?