@@ -9,35 +9,45 @@ cluster using Helm.
99
1010## Prerequisites
1111
12- Before you begin, ensure you have the following:
13-
14- 1 . ` Helm ` 3.x installed
15- 2 . ` kubectl ` installed and configured to interact with your Kubernetes cluster
16-
17- ## Installation Steps
18-
1912::: info [ ** Alpha Stage** ]
2013
2114kro is currently in alpha stage. While the images are publicly available, please
2215note that the software is still under active development and APIs may change.
2316
2417:::
2518
26- ### Install kro using Helm
19+ Before you begin, ensure you have the following:
20+
21+ 1 . ` Helm ` 3.x installed (for helm based installation)
22+ 2 . ` kubectl ` installed and configured to interact with your Kubernetes cluster
23+ 3 . chose the version you want to install or fetch the latest release from GitHub
24+ Fetch the latest release version from GitHub
25+ ``` sh
26+ export KRO_VERSION=$( curl -sL \
27+ https://api.github.com/repos/kubernetes-sigs/kro/releases/latest | \
28+ jq -r ' .tag_name | ltrimstr("v")'
29+ )
30+ ```
31+ Validate ` KRO_VERSION ` populated with a version
32+ ```
33+ echo $KRO_VERSION
34+ ```
35+ 4 . For kubectl installation, select the variant you want to install
36+ | variant | Prometheus scrape config | Kro permissions |
37+ | ------------------------------------------ | ------------------------ | --------------- |
38+ | kro-core-install-manifests | Not installed | least privilege |
39+ | kro-core-install-manifests-with-prometheus | Installed | least privilege |
40+ | kro-unrestricted-manifests | Not installed | cluster admin |
41+ | kro-unrestricted-manifests-with-prometheus | Installed | cluster admin |
42+
43+ ## Installation with helm
44+
45+ ### Installation Steps
46+
47+ #### Install kro using Helm
2748
2849Once authenticated, install kro using the Helm chart:
2950
30- Fetch the latest release version from GitHub
31- ``` sh
32- export KRO_VERSION=$( curl -sL \
33- https://api.github.com/repos/kubernetes-sigs/kro/releases/latest | \
34- jq -r ' .tag_name | ltrimstr("v")'
35- )
36- ```
37- Validate ` KRO_VERSION ` populated with a version
38- ```
39- echo $KRO_VERSION
40- ```
4151Install kro using Helm
4252```
4353helm install kro oci://registry.k8s.io/kro/charts/kro \
@@ -46,7 +56,7 @@ helm install kro oci://registry.k8s.io/kro/charts/kro \
4656 --version=${KRO_VERSION}
4757```
4858
49- ## Verifying the Installation
59+ ### Verifying the Installation
5060
5161After running the installation command, verify that Kro has been installed
5262correctly:
@@ -73,7 +83,7 @@ correctly:
7383 kro-7d98bc6f46-jvjl5 1/1 Running 0 1s
7484 ```
7585
76- ## Upgrading kro
86+ ### Upgrading kro
7787
7888To upgrade to a newer version of kro, use the Helm upgrade command:
7989
@@ -97,7 +107,7 @@ documentation.
97107
98108:::
99109
100- ## Uninstalling kro
110+ ### Uninstalling kro
101111
102112To uninstall kro, use the following command:
103113
@@ -108,3 +118,69 @@ helm uninstall kro -n kro
108118Keep in mind that this command will remove all kro resources from your cluster,
109119except for the ResourceGraphDefinition CRD and any other custom resources you may have
110120created.
121+
122+ ## Installation with kubectl
123+
124+ ### Installation Steps
125+
126+ #### Install kro using Kubectl
127+
128+ Select the variant you want (see available variants in [ prerequisites] ( #prerequisites ) )
129+ ```
130+ export KRO_VARIANT=kro-core-install-manifests
131+ ```
132+
133+ Install kro using Kubectl
134+ ```
135+ kubectl create namespace kro
136+ kubectl apply -f https://github.com/kubernetes-sigs/kro/releases/download/$KRO_VERSION/$KRO_VARIANT.yaml
137+ ```
138+
139+ ### Verifying the Installation
140+
141+ After running the installation command, verify that Kro has been installed
142+ correctly:
143+
144+ Check the kro pods:
145+ ``` sh
146+ kubectl get pods -n kro
147+ ```
148+ Expected result: You should see kro-related pods running.
149+ ```
150+ NAME READY STATUS RESTARTS AGE
151+ kro-7d98bc6f46-jvjl5 1/1 Running 0 1s
152+ ```
153+
154+ ### Upgrading kro
155+
156+ To upgrade to a newer version of kro, use the Helm upgrade command:
157+
158+ Replace ` <new-version> ` with the version you want to upgrade to.
159+ ``` bash
160+ export KRO_VERSION=< new-version>
161+ ```
162+
163+ Upgrade the controller
164+ ```
165+ kubectl apply -f https://github.com/kubernetes-sigs/kro/releases/download/$KRO_VERSION/$KRO_VARIANT.yaml
166+ ```
167+
168+ ::: info [ ** Removal of dangling objects** ]
169+
170+ Kubectl installation does remove old objects. You may need to manually remove any
171+ object that was removed in the new version of Kro.
172+
173+ :::
174+
175+ ### Uninstalling kro
176+
177+ To uninstall kro, use the following command:
178+
179+ ``` bash
180+ kubectl delete -f https://github.com/kubernetes-sigs/kro/releases/download/$KRO_VERSION /$KRO_VARIANT .yaml
181+ ```
182+
183+ Keep in mind that this command will remove all kro resources from your cluster,
184+ including the ResourceGraphDefinition CRD. This means all RGD instances will also be deleted.
185+ Resources deployed by RGD instances may though be kept in the cluster depending whether the kro controller
186+ is deleted before of after the ResourceGraphDefinition CRD.
0 commit comments