A comprehensive kubectl plugin for multi-cluster operations with KubeStellar. This plugin extends kubectl to work seamlessly across all KubeStellar managed clusters, providing unified views and operations while filtering out workflow staging clusters (WDS).
kubectl-multi is a kubectl plugin written in Go that automatically discovers KubeStellar managed clusters and executes kubectl commands across all of them simultaneously. It provides a unified tabular output with cluster context information, making it easy to monitor and manage resources across multiple clusters.
- Multi-cluster resource viewing: Get resources from all managed clusters with unified output
- Cluster context identification: Each resource shows which cluster it belongs to
- All kubectl commands: Supports all major kubectl commands across clusters
- KubeStellar integration: Automatically discovers managed clusters via KubeStellar APIs
- WDS filtering: Automatically excludes Workload Description Space clusters
- Familiar syntax: Uses the same command structure as kubectl
# Install the plugin
make install
# Get nodes from all managed clusters
kubectl multi get nodes
# Get pods from all clusters in all namespaces
kubectl multi get pods -A
- Installation Guide - How to install and set up kubectl-multi
- Usage Guide - Detailed usage examples and commands
- Architecture Guide - Technical architecture and how it works
- Development Guide - Contributing and development workflow
- API Reference - Code organization and technical implementation
- Go 1.21+: Primary language for the plugin
- Cobra: CLI framework for command structure and parsing
- Kubernetes client-go: Official Kubernetes Go client library
- KubeStellar APIs: For managed cluster discovery
CONTEXT CLUSTER NAME STATUS ROLES AGE VERSION
its1 cluster1 cluster1-control-plane Ready control-plane 6d23h v1.33.1
its1 cluster2 cluster2-control-plane Ready control-plane 6d23h v1.33.1
its1 its1-cluster kubeflex-control-plane Ready <none> 6d23h v1.27.2+k3s1
- KubeStellar - Multi-cluster configuration management
- kubectl - Kubernetes command-line tool
For issues and questions:
- File an issue in this repository
- Check the KubeStellar documentation
- Join the KubeStellar community discussions
This project is licensed under the Apache License 2.0. See the LICENSE file for details.