cluster-inventory-api

module
v0.0.0-...-ef01543 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 30, 2024 License: Apache-2.0

README

Cluster Inventory API

The Cluster Inventory API is a part of SIG Multicluster, and this repository serves as the foundation for developing a standardized, robust framework for multi-cluster management in a cloud-native environment.

The Cluster Inventory API aims to provide a consistent and automated approach for applications, frameworks, and toolsets to discover and interact with multiple Kubernetes clusters. The concept of Cluster Inventory is akin to service discovery in a microservices architecture. It allows multi-cluster applications to dynamically discover available clusters and respond to various cluster lifecycle events. Such events include auto-scaling, upgrades, failures, and connectivity issues. This automated inventory management not only facilitates operational efficiency but also supports the integration of diverse multi-cluster management solutions. See the initial proposal in the documentation for more details.

Cluster Profile API

Within the broader Cluster Inventory, the first major component we are introducing is the ClusterProfile API. A Cluster Profile is essentially an individual member of the Cluster Inventory that details the properties and status of a cluster. This API proposes a universal, standardized interface that defines how cluster information should be presented and interacted with across different platforms and implementations.

Motivation and Goals

The ClusterProfile API is designed to establish a shared interface for cluster inventory, laying the groundwork for multi-cluster tooling by providing a foundational component. Here are several key benefits and purposes of adopting the ClusterProfile API:

  • Standardization: By defining a standard for status reporting and cluster properties, the API facilitates a common understanding that can be shared across various tools and platforms.
  • Ease of Integration: Consumers of the API, such as multi-cluster workload schedulers and GitOps tools (e.g., ArgoCD, Kueue), can integrate without needing to navigate the specific implementation details of different cluster management projects.
  • Vendor Neutrality: The API provides a vendor-neutral integration point, allowing operations tools and external consumers to define and manage clusters across different cloud environments uniformly.

Community, discussion, contribution, and support

Learn how to engage with the Kubernetes community on the community page.

You can reach the maintainers of this project at:

Code of conduct

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

Directories

Path Synopsis
apis
v1alpha1
Package v1alpha1 contains API Schema definitions for the multicluster.x-k8s.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=multicluster.x-k8s.io
Package v1alpha1 contains API Schema definitions for the multicluster.x-k8s.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=multicluster.x-k8s.io
client
clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
clientset/versioned/typed/apis/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset/versioned/typed/apis/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL