This project documents and demonstrates the integration of OpenKruise workloads (CloneSet, Advanced StatefulSet) with Karmada and Open Cluster Management (OCM) for multi-cluster orchestration. This work is part of the CNCF LFX Mentorship Program (2025 Term 3).
This project aims to provide official guidelines and best practices for using OpenKruise workloads in multi-cluster environments orchestrated by Karmada and OCM. The project includes:
- Documentation of supported features and current limitations
- Working examples of OpenKruise workloads in multi-cluster setups
- Troubleshooting guides and known issues
- Performance considerations and best practices
- Create comprehensive documentation for Karmada and OCM integration with OpenKruise workloads
- Provide practical examples for common use cases
- Document current limitations and workarounds
- Contribute any necessary code fixes to improve the integration
- 🚀 Multi-cluster deployment of OpenKruise workloads (CloneSet, Advanced StatefulSet)
- 🔄 Demonstration of rolling updates across clusters
- 📊 Resource distribution and scheduling policies
- 🔍 Detailed documentation of integration patterns
- 🛠️ Example configurations for common scenarios
- ⚡ Performance considerations and best practices
- kubectl
- helm
- kind (Kubernetes IN Docker)
- karmadactl
- kubectl-kruise plugin
- Kubernetes clusters (local or cloud)
kubectlconfigured to access your clusters- kubectl-karmada
- kubectl-kruise plugin
-
Set up local development environment:
# Create kind clusters ./scripts/setup-kind-clusters.sh # Install Karmada control plane ./scripts/install-karmada.sh # Install OpenKruise ./scripts/install-openkruise.sh
-
Deploy sample applications:
# Deploy CloneSet example kubectl apply -f examples/cloneset/ # Deploy Advanced StatefulSet example kubectl apply -f examples/advanced-statefulset/
-
Verify the deployment:
# Check application status kubectl get clonesets --all-namespaces kubectl get asts --all-namespaces
.
├── README.md # This file
├── CONTRIBUTING.md # Contribution guidelines
├── docs/ # Documentation
├── examples/ # Example manifests
│ ├── cloneset/ # CloneSet examples
│ └── advanced-statefulset/ # Advanced StatefulSet examples
└── scripts/ # Setup and installation scripts
├── install-karmada.sh # Karmada installation
├── install-openkruise.sh # OpenKruise installation
└── setup-kind-clusters.sh # Local cluster setup
Detailed documentation is available in the docs directory.
Contributions are welcome! Please see our Contributing Guide.
Owned by masterhj!!