Getting started
Getting started with MicroShift
Abstract
Chapter 1. Understanding MicroShift
Get an overview of what you can do with MicroShift, a Kubernetes distribution derived from OpenShift Container Platform that is designed for optimizing small form factor devices and edge computing.
1.1. About MicroShift
Working with resource-constrained field environments and hardware presents many challenges not experienced with cloud computing. MicroShift enables you to solve problems for edge devices by:
- Running the same Kubernetes workloads you run in the cloud, but at the edge.
- Overcoming the operational challenge of minimal system resources.
- Addressing the environmental challenges of severe networking constraints such as low or no connectivity.
- Meeting the physical constraint of hard-to-access locations by installing your system images directly on edge devices.
- Building on and integrating with edge-optimized operating systems such as Red Hat Enterprise Linux for Edge (RHEL for Edge).
MicroShift has the simplicity of single-node deployment with the functions and services you need for computing in resource-constrained locations. You can have many deployments on different hosts, creating the specific system image needed for each of your applications.
Chapter 2. Architecture
Learn the specifics of MicroShift architecture including design intent, how it differs from OpenShift Kubernetes Engine, and API compatibility.
2.1. Architectural design
MicroShift is a single-node container orchestration runtime designed to extend the benefits of using containers for running applications to low-resource edge environments. Because MicroShift is primarily a platform for deploying applications, only the APIs and features essential to operating in edge and small form factor computing environments are included.
For example, MicroShift contains only the following Kubernetes cluster capabilities:
- Networking
- Ingress
- Storage
- Helm
MicroShift also provides the following Kubernetes functions:
- Orchestration
- Security
To optimize your deployments, use MicroShift with a compatible operating system, such as Red Hat Enterprise Linux for Edge (RHEL for Edge). Using MicroShift and Red Hat Enterprise Linux for Edge (RHEL for Edge) together forms Red Hat Device Edge. Virtual machines are handled by the operating system in MicroShift deployments.
Figure 2.1. MicroShift as part of Red Hat Device Edge.
The following operational differences from OpenShift Kubernetes Engine can help you understand where MicroShift can be deployed:
2.2. Key differences from OpenShift Kubernetes Engine
- Devices with MicroShift installed are self-managing
- Compatible with RPM-OStree-based systems
- Uses only the APIs needed for essential functions, such as security and runtime controls
-
Enables a subset of commands from the OpenShift CLI (
oc
) tool - Does not support workload high availability (HA) or horizontal scalability with the addition of worker nodes
Figure 2.2. MicroShift differences from OpenShift Kubernetes Engine.
The figure "MicroShift differences from OpenShift Kubernetes Engine" shows that OpenShift Kubernetes Engine has the same cluster capabilities as MicroShift, and adds the following information:
- Install
- Over-the-air updates
- Cluster Operators
- Operator Lifecycle Manager
- Monitoring
- Logging
- Registry
- Authorization
- Console
- Cloud Integration
- Virtual Machines (VMs) through OpenShift Virtualization
In OpenShift Kubernetes Engine and other OpenShift Container Platform deployments, all of the components from the operating system through the cluster capabilities work as one comprehensive unit, with full cluster services for a multi-node Kubernetes workload. With MicroShift, functions such as over-the-air-updates, monitoring, and logging, are performed by the operating system.
2.3. MicroShift OpenShift APIs
In addition to standard Kubernetes APIs, MicroShift includes a small subset of the APIs supported by OpenShift Container Platform.
API | API group |
---|---|
route.openshift.io/v1 | |
security.openshift.io/v1 |
2.4. MicroShift Kubernetes APIs
The Kubernetes API is fully accessible within MicroShift and can be managed with the kubectl
command-line tool or the OpenShift Container Platform CLI tool (oc
). The oc
binary is compatible with kubectl
and offers a set of features that can be used with MicroShift. Using these command-line tools with MicroShift can help you access all of the resources you need to work with your deployments.
Additional resources