Installation
This page covers different methods for installing ORC in your Kubernetes cluster.
Prerequisites
- Kubernetes v1.29 or later (required for CEL validations)
kubectlconfigured to access your cluster
Quick Install
The simplest way to install ORC is using the release manifest:
kubectl apply --server-side -f \
https://github.com/k-orc/openstack-resource-controller/releases/latest/download/install.yaml
This installs:
- Custom Resource Definitions (CRDs) for all ORC resources
- The
orc-systemnamespace - The ORC controller deployment
- Required RBAC roles and bindings
Verify the installation:
kubectl get pods -n orc-system
Expected output:
NAME READY STATUS RESTARTS AGE
orc-controller-manager-5d4b8c9f7-xxxxx 1/1 Running 0 30s
Install a Specific Version
To install a specific version:
export ORC_VERSION="v2.3.0"
kubectl apply --server-side -f \
https://github.com/k-orc/openstack-resource-controller/releases/download/${ORC_VERSION}/install.yaml
See the Releases page for available versions.
Install from Source
To install from the main branch (for development or testing):
git clone https://github.com/k-orc/openstack-resource-controller.git
cd openstack-resource-controller
make deploy IMG=quay.io/orc/openstack-resource-controller:branch-main
Configuration Options
The controller supports flags for namespace scoping, CA certificates, resource limits, log verbosity, and more. See the Controller Configuration reference for the full list.
Upgrading
To upgrade to a new version:
export NEW_VERSION=<target_version> # For instance v2.4.0
kubectl apply --server-side -f \
https://github.com/k-orc/openstack-resource-controller/releases/download/${NEW_VERSION}/install.yaml
The upgrade process:
- Updates CRDs with any new fields
- Rolls out the new controller version
- Existing resources continue to be managed
Note
Always check the Changelog for breaking changes before upgrading major versions.
Uninstalling
To remove ORC from your cluster:
# 1. Delete all ORC resources first
kubectl delete openstack --all
# 2. Wait for resources to be cleaned up
kubectl get openstack
# 3. Delete credentials secrets
kubectl delete secret openstack-clouds
# 4. Uninstall ORC
kubectl delete -f \
https://github.com/k-orc/openstack-resource-controller/releases/latest/download/install.yaml
# 4. Or, if you installed from source
make undeploy
Warning
Deleting ORC before deleting ORC resources will leave orphaned resources in OpenStack that must be cleaned up manually. Alternatively, ORC can be re-installed to clean up the resources.
Verifying the Installation
After installation, verify ORC is running:
# Check the controller pod
kubectl get pods -n orc-system
# Check CRDs are installed
kubectl get crd | grep openstack.k-orc.cloud
# Check controller logs
kubectl logs -n orc-system deployment/orc-controller-manager
Next Steps
Once ORC is installed, follow the Tutorial to deploy your first server.