Installing kro
Install kro on your Kubernetes cluster using Helm.
These instructions install v0.10.0-rc.0 once its release artifacts are
published. This is a prerelease; v0.9.4 remains the latest stable release.
Use an explicit version when installing the RC: unpinned Helm commands and
GitHub's releases/latest endpoint select stable releases instead.
Prerequisites
Kro can be installed via Helm or raw manifests. Pick the solution that best fits you.
- Helm 3.x installed (only for helm installation)
- kubectl configured to access your cluster
Installation
- Quick Start
- Pinned Version
- Raw manifest installation
Install this release candidate:
helm install kro oci://registry.k8s.io/kro/charts/kro \
--namespace kro-system \
--create-namespace \
--version=0.10.0-rc.0
Install a specific version for reproducible deployments:
# Set the version you want to install
export KRO_VERSION=0.10.0-rc.0
# Install kro
helm install kro oci://registry.k8s.io/kro/charts/kro \
--namespace kro-system \
--create-namespace \
--version=${KRO_VERSION}
Select which pre-built flavour you would like to install
| variant | Prometheus scrape config |
|---|---|
| kro-core-install-manifests | Not installed |
| kro-core-install-manifests-with-prometheus | Installed |
Select this release candidate and the manifest variant:
export KRO_VERSION=0.10.0-rc.0
export KRO_VARIANT=kro-core-install-manifests
echo $KRO_VERSION
kubectl create namespace kro-system
kubectl apply -f https://github.com/kubernetes-sigs/kro/releases/download/v$KRO_VERSION/$KRO_VARIANT.yaml
Verify Installation
- Helm installation
- Raw manifest installation
Check the Helm release:
helm list -n kro-system
Expected output:
NAME NAMESPACE REVISION STATUS
kro kro-system 1 deployed
Check the kro pod is running:
kubectl get pods -n kro-system
Expected output:
NAME READY STATUS RESTARTS AGE
kro-7d98bc6f46-jvjl5 1/1 Running 0 30s
Check the kro pod is running:
kubectl get pods -n kro-system
Expected output:
NAME READY STATUS RESTARTS AGE
kro-7d98bc6f46-jvjl5 1/1 Running 0 30s
Upgrade
- Release Candidate
- Specific Version
- Raw manifest installation
helm upgrade kro oci://registry.k8s.io/kro/charts/kro \
--namespace kro-system \
--version=0.10.0-rc.0
export KRO_VERSION=0.10.0-rc.0
helm upgrade kro oci://registry.k8s.io/kro/charts/kro \
--namespace kro-system \
--version=${KRO_VERSION}
Helm does not update CRDs automatically. If a new version includes CRD changes, you may need to manually apply them. Check the release notes for CRD updates.
export KRO_VERSION=0.10.0-rc.0
export KRO_VARIANT=kro-core-install-manifests
kubectl apply -f https://github.com/kubernetes-sigs/kro/releases/download/v$KRO_VERSION/$KRO_VARIANT.yaml
Kubectl installation does remove old objects. You may need to manually remove any object that was removed in the new version of Kro.
Uninstall
- Helm installation
- Raw manifest installation
helm uninstall kro -n kro-system
kubectl delete -f https://github.com/kubernetes-sigs/kro/releases/download/v$KRO_VERSION/$KRO_VARIANT.yaml
This removes the kro controller but preserves your RGDs and deployed instances. To fully clean up, manually delete instances and RGDs before uninstalling.