Quick Start • Supported Services • Deployment Examples
UPM (Unified Platform Management) is a modern Kubernetes-native platform specifically designed for automated management of enterprise-grade databases and middleware services. Through declarative configuration and cloud-native technologies, UPM simplifies the deployment, scaling, and operations of complex services.
| Component | Function | Repository | 
|---|---|---|
| Unit Operator | Universal workload orchestration engine providing unified lifecycle management for databases and middleware | upmio/unit-operator | 
| Compose Operator | Advanced orchestration engine supporting automated deployment and management of complex multi-component applications | upmio/compose-operator | 
| UPM Packages | Production-ready Helm Chart collection containing best-practice configurations for mainstream databases and middleware | upmio/upm-packages | 
- MySQL - High-availability InnoDB Cluster
 - PostgreSQL - Enterprise-grade relational database
 - Redis - High-performance in-memory database
 - MongoDB - Document-oriented NoSQL database
 - ClickHouse - Columnar analytical database
 - TiDB - Distributed NewSQL database
 
- Apache Kafka - Distributed streaming platform
 - RabbitMQ - Enterprise message queue
 - Elasticsearch - Distributed search and analytics engine
 - Zookeeper - Distributed coordination service
 - Etcd - Distributed key-value store
 - MinIO - High-performance object storage
 
Demo Video:
Watch the complete deployment and verification process in action:
Video link: https://asciinema.org/a/740686
- Kubernetes Cluster (v1.29+)
 - Helm (v3.16+)
 - kubectl command-line tool
 - cert-manager (v1.15.3+)
 - Sufficient cluster resources (recommended 4+ cores, 8GB+ memory, 2+ workload nodes)
 
Description:
The install-operator.sh script is an automated installation tool that deploys the essential UPM operators (Unit Operator and Compose Operator) to your Kubernetes cluster. These operators enable declarative management and orchestration of MySQL components and services.
curl -sSL \
  https://raw.githubusercontent.com/upmio/demo/main/install-operator/install-operator.sh \
  -o install-operator.sh
chmod +x install-operator.sh
./install-operator.shDescription:
The deploy-innodb-cluster.sh script is an automated deployment tool that sets up a production-ready MySQL InnoDB Cluster on Kubernetes. It creates a 3-node high-availability cluster with MySQL Router for load balancing, automatic failover capabilities, and persistent storage configuration.
Prerequisite: At least one Kubernetes StorageClass must exist in the cluster.
# Deploy MySQL InnoDB Cluster
curl -sSL \
  https://raw.githubusercontent.com/upmio/demo/main/innodb-cluster/deploy-innodb-cluster.sh \
  -o deploy-innodb-cluster.sh
chmod +x deploy-innodb-cluster.sh
./deploy-innodb-cluster.shVerification:
The verify-mysql.sh script is a comprehensive testing tool designed to validate the MySQL InnoDB Cluster deployment. It performs connection tests, failover scenarios, and data consistency checks to ensure your cluster is functioning correctly.
# Verify deployment
curl -sSL \
  https://raw.githubusercontent.com/upmio/demo/main/innodb-cluster/verify-mysql.sh \
  -o verify-mysql.sh
chmod +x verify-mysql.sh
./verify-mysql.sh -h <ip_addr> -P <port> -u <username> -p <password>Features:
- ✅ Automatic failover
 - ✅ Read-write splitting
 - ✅ Data consistency guarantee
 - ✅ Online scaling
 - ✅ Automated backup and recovery
 
Refer to redis-sentinel/README.md.
- 💬 Community Support - Technical discussions and Q&A
 - 🐛 Issue Reporting - Bug reports and feature requests
 
This project is licensed under the Apache License 2.0.
🌟 If this project helps you, please give us a Star!
