Skip to content

masterhj/Karmada-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenKruise Integration with Karmada/OCM

License

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).

Project Overview

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

Project Goals

  1. Create comprehensive documentation for Karmada and OCM integration with OpenKruise workloads
  2. Provide practical examples for common use cases
  3. Document current limitations and workarounds
  4. Contribute any necessary code fixes to improve the integration

Features

  • 🚀 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

Prerequisites

  • kubectl
  • helm
  • kind (Kubernetes IN Docker)
  • karmadactl
  • kubectl-kruise plugin

Getting Started

Prerequisites

Quick Start

  1. 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
  2. Deploy sample applications:

    # Deploy CloneSet example
    kubectl apply -f examples/cloneset/
    
    # Deploy Advanced StatefulSet example
    kubectl apply -f examples/advanced-statefulset/
  3. Verify the deployment:

    # Check application status
    kubectl get clonesets --all-namespaces
    kubectl get asts --all-namespaces

Project Structure

.
├── 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

Documentation

Detailed documentation is available in the docs directory.

Contributing

Contributions are welcome! Please see our Contributing Guide.

License

Owned by masterhj!!

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages