MicroShift is a project that optimizes OpenShift Kubernetes for small form factor and edge computing.
Edge devices deployed out in the field pose very different operational, environmental, and business challenges from those of cloud computing. These motivate different engineering trade-offs for Kubernetes at the far edge than for cloud or near-edge scenarios.
MicroShift design goals cater to this:
- make frugal use of system resources (CPU, memory, network, storage, etc.)
- tolerate severe networking constraints
- update securely, safely, speedily, and seamlessly (without disrupting workloads)
- build on and integrate cleanly with edge-optimized operating systems like RHEL for Edge
- provide a consistent development and management experience with standard OpenShift
These properties should also make MicroShift a great tool for other use cases such as Kubernetes applications development on resource-constrained systems, scale testing, and provisioning of lightweight Kubernetes control planes.
To run MicroShift, the minimum system requirements are:
- x86_64 or aarch64 CPU architecture
- Red Hat Enterprise Linux 9 with Extended Update Support (9.2 or later)
- 2 CPU cores
- 2GB of RAM
- 2GB of free system root storage for MicroShift and its container images
The system requirements also include resources for the operating system unless explicitly mentioned otherwise.
Depending on user workload requirements, it may be necessary to add more resources i.e. CPU and RAM for better performance, disk space in a root partition for container images, an LVM group for container storage, etc.
For production deployments, MicroShift can be run on bare metal hardware or hypervisors supported and certified for the Red Hat Enterprise Linux 9 operating system.
- Edge systems certified for Red Hat Enterprise Linux
- Hypervisors certified for Red Hat Enterprise Linux
To install, configure and run MicroShift, refer to the following documentation:
- Getting Started with MicroShift
- MicroShift Configuration
- MicroShift kubeconfig Handling
- Embedding MicroShift Container Images for Offline Deployments
- MicroShift Behind Proxy
- Load Balancer for User Workloads
- AMQ Broker on MicroShift
- MicroShift Mitigation of System Configuration Changes
- Firewall Configuration
- Integrating MicroShift with Greenboot
- Mirror MicroShift Container Images
- Debugging Tips
- Known Limitations
To build MicroShift from source and contribute to its development, refer to the following documentation:
- MicroShift Design
- Enabled OpenShift APIs
- MicroShift Development Environment
- MicroShift Development Environment in Cloud
- Rebasing MicroShift
- Install MicroShift on RHEL for Edge
- OpenShift CI for MicroShift
- RPM Packages for Development and Testing
- MicroShift Storage Plugin Overview
- MicroShift Network Plugin Overview
- MicroShift Host Networking Overview
- MicroShift Traffic Flows Overview
- Testing MicroShift Integration with Greenboot
- Quay Mirror Registry Setup for Testing
- Multinode Testing Environment for MicroShift
- Image Mode for MicroShift
- Layered Product Testing with MicroShift
Community documentation sources are managed at https://github.com/redhat-et/microshift-documentation and published on https://microshift.io.
To get started with MicroShift, please refer to the Getting Started section of the MicroShift User Documentation.
For information about getting in touch with the MicroShift community, check our community page.