OpenShift CRC
Perintah OpenShift Local (CRC / Code Ready Containers) untuk menjalankan cluster OpenShift single-node di mesin lokal. Mencakup setup awal, siklus hidup VM, akses cluster, konfigurasi resource, dan troubleshooting.
Instalasi dan Setup Awal
Download CRC, daftarkan pull secret, dan siapkan dependensi sebelum menjalankan cluster.
Cek versi dan prasyarat
crc version # cek versi CRC yang terinstall crc setup --check-only # cek prasyarat tanpa mengubah sistem
Setup otomatis
crc setup sekali setelah install. Proses ini mengunduh driver hypervisor dan mengkonfigurasi network. Membutuhkan koneksi internet.crc setup # setup lengkap (hypervisor, network, pull secret) crc setup --log-level debug # setup dengan output verbose
Siklus Hidup Cluster
Start, stop, delete, dan pantau status VM CRC.
Start cluster
console.redhat.com/openshift/create/local. Proses boot memerlukan 10–15 menit.crc start # start dengan pull secret interaktif crc start -p ~/pull-secret.txt # start dengan file pull secret crc start --log-level debug # start dengan output verbose
Stop dan delete
crc delete menghapus VM dan seluruh data cluster. Gunakan crc stop untuk menyimpan state.crc stop # hentikan VM, state tersimpan crc delete # hapus VM dan semua data cluster crc delete --clear-cache # hapus VM + cache bundle yang diunduh
Status cluster
crc status # ringkasan status VM dan cluster crc status --output json # output status dalam format JSON
Akses Cluster
Login ke cluster via oc CLI, buka web console, dan ambil kredensial.
Set oc environment
eval $(crc oc-env) di setiap sesi terminal baru agar perintah oc terhubung ke cluster CRC.eval $(crc oc-env) # set PATH dan KUBECONFIG untuk oc crc oc-env # lihat environment variable tanpa apply
Login oc
# Login sebagai developer (non-admin) oc login -u developer -p developer https://api.crc.testing:6443 # Login sebagai kubeadmin (full admin) oc login -u kubeadmin -p <password> https://api.crc.testing:6443 # Ambil password kubeadmin crc console --credentials
Web console dan kredensial
crc console # buka web console di browser crc console --url # tampilkan URL console saja crc console --credentials # tampilkan username/password semua user
Konfigurasi Resource
Atur CPU, memori, disk, dan parameter lain sebelum start cluster.
Lihat konfigurasi
crc config view # tampilkan semua konfigurasi aktif crc config get cpus # cek nilai satu parameter crc config get memory
Ubah CPU dan memori
crc delete + crc start. Restart saja tidak cukup.crc config set cpus 6 # jumlah vCPU (default: 4, min: 4) crc config set memory 14336 # memori dalam MiB (default: 10752, min: 9216) crc config set disk-size 60 # ukuran disk dalam GiB (default: 31)
Konfigurasi lainnya
crc config set consent-telemetry no # nonaktifkan telemetri crc config set enable-cluster-monitoring true # aktifkan monitoring (butuh RAM lebih) crc config set http-proxy http://proxy:3128 # gunakan HTTP proxy crc config set no-proxy .cluster.local # bypass proxy untuk domain lokal crc config unset http-proxy # hapus konfigurasi proxy
Bundle dan Cache
Kelola versi bundle CRC yang diunduh ke lokal.
Informasi bundle
crc version # versi CRC dan bundle yang dipakai crc config get bundle # lokasi bundle yang dikonfigurasi
Gunakan bundle kustom
crc start -b /path/to/crc_libvirt_*.crcbundle # Linux custom bundle crc start -b /path/to/crc_hyperv_*.crcbundle # Windows custom bundle crc delete --clear-cache # bersihkan cache bundle lama
Network dan DNS
Memahami endpoint cluster dan resolusi DNS lokal CRC.
Endpoint default
API server : https://api.crc.testing:6443 Web console : https://console-openshift-console.apps-crc.testing Image registry: default-route-openshift-image-registry.apps-crc.testing # Resolusi DNS diatur otomatis oleh crc setup via systemd-resolved / dnsmasq
Tes konektivitas cluster
curl -k https://api.crc.testing:6443/version ping api.crc.testing nslookup console-openshift-console.apps-crc.testing
Workflow Developer
Alur kerja umum setelah cluster berjalan: buat project, deploy app, dan akses route.
Buat project dan deploy app
eval $(crc oc-env) oc login -u developer -p developer https://api.crc.testing:6443 oc new-project myapp oc new-app nodejs:20-ubi8~https://github.com/example/app.git --name=api oc expose svc/api oc get route api
Login registry internal dan push image
# Login ke registry internal CRC oc login -u kubeadmin -p <password> https://api.crc.testing:6443 podman login -u kubeadmin -p $(oc whoami -t) \ default-route-openshift-image-registry.apps-crc.testing --tls-verify=false # Tag dan push image podman tag myapp:latest default-route-openshift-image-registry.apps-crc.testing/myapp/myapp:latest podman push default-route-openshift-image-registry.apps-crc.testing/myapp/myapp:latest --tls-verify=false
Troubleshooting
Langkah diagnosis saat CRC gagal start, cluster tidak sehat, atau oc tidak bisa terhubung.
CRC gagal start
crc start --log-level debug # lihat detail error saat boot crc status # cek apakah VM dan cluster sehat crc stop && crc start # coba restart VM
Cluster tidak sehat setelah start
eval $(crc oc-env) oc login -u kubeadmin -p <password> https://api.crc.testing:6443 oc get nodes oc get clusteroperators # cek operator mana yang degraded oc get pods -n openshift-apiserver oc get pods -n openshift-etcd
Reset penuh jika cluster rusak
crc stop crc delete crc setup crc start -p ~/pull-secret.txt
Log dan diagnosa VM
# Lokasi log CRC # macOS / Linux: cat ~/.crc/crclogs/crc.log # SSH ke dalam VM (jika perlu debug mendalam) crc status # pastikan VM running ssh -i ~/.crc/machines/crc/id_ecdsa core@$(crc ip) # Di dalam VM: sudo journalctl -u kubelet -n 100 --no-pager sudo crictl ps -a | grep -v Running