Here is the step-by-step guide to correctly install and configure OpenShift Local (CRC) on macOS laptops or desktops for local OpenShift 4.x development.
๐ OpenShift Local on macOS โ Overview
| Feature | Description |
|---|---|
| Tool Name | OpenShift Local (CLI tool: crc) |
| Runs | Single-node OpenShift 4.x cluster |
| Virtualization | Uses Appleโs Hypervisor.framework (no VirtualBox required) |
| Use Case | Ideal for local development, testing OpenShift apps, and CLI practice |
โ System Requirements
| Requirement | Minimum (Recommended) |
|---|---|
| OS | macOS Monterey (12.x) or later |
| CPU | 4 cores |
| RAM | 9 GB (16 GB recommended) |
| Disk Space | 35+ GB free |
| Virtualization | Must be enabled (Apple Silicon/Intel supported) |
| Tools Included | crc, oc (OpenShift CLI), VM image |
๐งฐ Step 1: Download OpenShift Local & Pull Secret
- Visit: https://console.redhat.com/openshift/create/local
- Sign in with your Red Hat account (create a free one if needed).
- Download:
openshift-local.pkg(installer for macOS)- Pull Secret file โ Save it as
pull-secret.txt
๐ป Step 2: Install OpenShift Local (CRC)
- Double-click
openshift-local.pkgto begin the installation. - Follow the macOS installer prompts.
- After installation, open Terminal and verify:
crc version
You should see the version (e.g., 2.49.0) and OpenShift version (e.g., 4.18.x).
๐ง Step 3: Set Up the Cluster
In Terminal:
crc setup
Replace the path if your pull-secret is stored elsewhere.
This command:
- Sets up the Hypervisor VM
- Prepares OpenShift environment
- Installs the CRC bundle
โถ๏ธ Step 4: Start the OpenShift Cluster
Run:
crc start -p ~/Downloads/pull-secret.txt
or
crc start --pull-secret-file ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)
- This launches a single-node OpenShift 4 cluster.
- The process may take 5โ15 minutes depending on your hardware.
- Once done, youโll see:
Started the OpenShift cluster
Console URL: https://console-openshift-console.apps-crc.testing
Code language: JavaScript (javascript)
rajesh@DM-GYK3HC26H7 ~ % crc start --pull-secret-file ~/Downloads/pull-secret.txt
INFO Using bundle path /Users/rajesh/.crc/cache/crc_vfkit_4.21.14_arm64.crcbundle
INFO Checking if running macOS version >= 13.x
INFO Checking if running as non-root
INFO Checking if crc-admin-helper executable is cached
INFO Checking if running on a supported CPU architecture
INFO Checking if crc executable symlink exists
INFO Checking minimum RAM requirements
INFO Checking if running emulated on Apple silicon
INFO Checking if vfkit is installed
INFO Checking if old launchd config for tray and/or daemon exists
INFO Checking if crc daemon plist file is present and loaded
INFO Checking SSH port availability
INFO Loading bundle: crc_vfkit_4.21.14_arm64...
INFO Starting CRC VM for openshift 4.21.14...
INFO CRC instance is running with IP 127.0.0.1
INFO CRC VM is running
INFO Updating authorized keys...
INFO Configuring shared directories
INFO Check internal and public DNS query...
INFO Check DNS query from host...
INFO Verifying validity of the kubelet certificates...
INFO Starting kubelet service
INFO Waiting for kube-apiserver availability... [takes around 2min]
INFO Adding user's pull secret to the cluster...
INFO Updating SSH key to machine config resource...
INFO Overriding password for developer user
INFO Changing the password for the users
INFO Updating cluster ID...
INFO Updating root CA cert to admin-kubeconfig-client-ca configmap...
INFO Starting openshift instance... [waiting for the cluster to stabilize]
INFO 6 operators are progressing: console, dns, image-registry, ingress, openshift-controller-manager, ...
INFO 3 operators are progressing: authentication, network, openshift-controller-manager
INFO All operators are available. Ensuring stability...
INFO Operators are stable (2/3)...
INFO Operators are stable (3/3)...
INFO Waiting until the user's pull secret is written to the instance disk...
INFO Adding crc-admin and crc-developer contexts to kubeconfig...
Started the OpenShift cluster.
The server is accessible via web console at:
https://console-openshift-console.apps-crc.testing
Log in as administrator:
Username: kubeadmin
Password: j33RY-Xxx9Z-bbgUw-FzkaB
Log in as user:
Username: developer
Password: developer
Use the 'oc' command line interface:
$ eval $(crc oc-env)
$ oc login -u developer https://api.crc.testing:6443
rajesh@DM-GYK3HC26H7 ~ %
Code language: PHP (php)
Step 5: Access OpenShift Web Console
Open the printed URL:
https://console-openshift-console.apps-crc.testing
Code language: JavaScript (javascript)
Login Credentials:
| Role | Username | Password |
|---|---|---|
| Admin | kubeadmin | Shown in terminal |
| Developer | developer | developer |
๐งช Step 6: Access via oc CLI (Optional)
To set up the OpenShift CLI environment:
eval $(crc oc-env)
Code language: JavaScript (javascript)
Then login:
oc login -u developer -p developer https://api.crc.testing:6443
Code language: JavaScript (javascript)
Now you can deploy, test, and manage apps from your terminal.
๐ Cluster Management Commands
| Action | Command |
|---|---|
| Stop cluster | crc stop |
| Delete cluster | crc delete |
| Status | crc status |
โ ๏ธ Troubleshooting Tips
| Issue | Fix |
|---|---|
| DNS resolution fails | Disable VPN; retry browser or oc with correct URL |
| CRC fails to start | Check RAM/CPU availability and make sure no conflicting VMs |
crc command not found | Reboot or re-add /usr/local/bin to your shell $PATH |
Iโm a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I have worked at Cotocus. I share tech blog at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow , and SEO strategies at Wizbrand.
Do you want to learn Quantum Computing?
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at WIZBRAND
Find Trusted Cardiac Hospitals
Compare heart hospitals by city and services โ all in one place.
Explore Hospitals
A useful addition would be to highlight some of the practical considerations of using OpenShift Local on macOS in day-to-day development. Although it offers a convenient way to experiment with OpenShift, developers may encounter issues related to memory consumption, disk usage, networking conflicts, and performance differences between Intel and Apple Silicon systems. It would also be helpful to explain that OpenShift Local is best suited for development and functional testing, while capabilities such as multi-node scheduling, resiliency testing, and cluster lifecycle management are better evaluated in a full OpenShift environment. Understanding these distinctions can help teams choose the right platform for each stage of the application lifecycle.