MicroShift
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.
System Requirements
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.
Deploying MicroShift on Edge Devices
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
User Documentation
To install, configure and run MicroShift, refer to the following documentation:
- Getting Started with MicroShift
- MicroShift Configuration
- MicroShift kubeconfig Handling
- Embeddding 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
- Debugging Tips
- Known Limitations
Developer Documentation
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
- 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
Community
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.