Configuring


Red Hat build of MicroShift 4.12

Configuring MicroShift

Red Hat OpenShift Documentation Team

Abstract

This document provides instructions for configuring MicroShift.

Chapter 1. How configuration tools work

A YAML file customizes Red Hat build of MicroShift instances with your preferences, settings, and parameters.

1.1. Using a YAML configuration file

Red Hat build of MicroShift searches for a configuration file in the user-specific directory, ~/.microshift/config.yaml, then the system-wide /etc/microshift/config.yaml directory. You must create the configuration file and specify any settings that should override the defaults before starting Red Hat build of MicroShift.

1.1.1. Default settings

If you do not create a config.yaml file, the default values are used. The following example configuration contains the default settings. You must change any settings that should override the defaults before starting Red Hat build of MicroShift.

Default YAML file example

dns:
  baseDomain: microshift.example.com 
1

network:
  clusterNetwork:
    - cidr: 10.42.0.0/16 
2

  serviceNetwork:
    - 10.43.0.0/16 
3

  serviceNodePortRange: 30000-32767 
4

node:
  hostnameOverride: "" 
5

  nodeIP: "" 
6

apiServer:
  subjectAltNames: [] 
7

debugging:
  logLevel: "Normal" 
8
Copy to Clipboard Toggle word wrap

1
Base domain of the cluster. All managed DNS records will be subdomains of this base.
2
A block of IP addresses from which Pod IP addresses are allocated.
3
A block of virtual IP addresses for Kubernetes services.
4
The port range allowed for Kubernetes services of type NodePort.
5
The name of the node. The default value is the hostname.
6
The IP address of the node. The default value is the IP address of the default route.
7
Subject Alternative Names for API server certificates.
8
Log verbosity. Valid values for this field are Normal, Debug, Trace, or TraceAll.
Note

Red Hat build of MicroShift only reads the configuration file on startup. Restart Red Hat build of MicroShift after changing any configuration settings to have them take effect.

The serviceNodePortRange setting allows the extension of the port range available to NodePort services. This option is useful when specific standard ports under the 30000-32767 need to be exposed. For example, your device needs to expose the 1883/tcp MQ Telemetry Transport (MQTT) port on the network because some client devices cannot use a different port.

Important

NodePorts can overlap with system ports, causing a malfunction of the system or Red Hat build of MicroShift.

Considerations when configuring the NodePort service ranges:

  • Do not create any NodePort service without an explicit nodePort selection. In this case, the port is assigned randomly by the kube-apiserver.
  • Do not create any NodePort service for any system service port, Red Hat build of MicroShift port, or other services you expose on your device HostNetwork.
  • Table one specifies ports to avoid when extending the port range:
Expand
Table 1.1. Ports to avoid.
PortDescription

22/tcp

SSH port

80/tcp

OpenShift Router HTTP endpoint

443/tcp

OpenShift Router HTTPS endpoint

1936/tcp

Metrics service for the openshift-router, not exposed today

2379/tcp

etcd port

2380/tcp

etcd port

6443

kubernetes API

8445/tcp

openshift-route-controller-manager

9537/tcp

cri-o metrics

10250/tcp

kubelet

10248/tcp

kubelet healthz port

10259/tcp

kube scheduler

Legal Notice

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat