You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: modules/installation/proc-rhdh-deploy-eks-operator.adoc
+2-169
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
[id='proc-rhdh-deploy-eks-operator_{context}']
5
5
= Installing {product-short} on {eks-short} with the Operator
6
6
7
-
You can install the {product} Operator with or without the Operator Lifecycle Manager (OLM) framework.
7
+
The {product} Operator installation requires the Operator Lifecycle Manager (OLM) framework.
8
8
9
9
.Additonal resources
10
10
* For information about the OLM, see link:https://olm.operatorframework.io/docs/[Operator Lifecycle Manager(OLM)] documentation.
@@ -18,7 +18,7 @@ You can install the {product-short} Operator on {eks-short} using the https://ol
18
18
* You have set the context to the {eks-short} cluster in your current `kubeconfig`. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html[Creating or updating a kubeconfig file for an Amazon {eks-short} cluster].
19
19
* You have installed `kubectl`. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html[Installing or updating kubectl].
20
20
* You have subscribed to `registry.redhat.io`. For more information, see https://access.redhat.com/RegistryAuthentication[{company-name} Container Registry Authentication].
21
-
* You have installed the Operator Lifecycle Manager (OLM). For more information about installation and troubleshooting, see https://operatorhub.io/how-to-install-an-operator#How-do-I-get-Operator-Lifecycle-Manager?[How do I get Operator Lifecycle Manager?]
21
+
* You have installed the Operator Lifecycle Manager (OLM). For more information about installation and troubleshooting, see https://olm.operatorframework.io/docs/getting-started/[OLM QuickStart] or https://operatorhub.io/how-to-install-an-operator#How-do-I-get-Operator-Lifecycle-Manager?[How do I get Operator Lifecycle Manager?]
Wait for a few minutes until the changes are automatically applied to the operator pods.
199
-
200
-
== Installing the {product-short} Operator without the OLM framework
201
-
202
-
.Prerequisites
203
-
* You have installed the following commands:
204
-
** `git`
205
-
** `make`
206
-
** `sed`
207
-
208
-
.Procedure
209
-
210
-
. Clone the Operator repository to your local machine using the following command:
211
-
+
212
-
--
213
-
[source,terminal]
214
-
----
215
-
git clone --depth=1 https://github.com/redhat-developer/rhdh-operator.git rhdh-operator && cd rhdh-operator
216
-
----
217
-
--
218
-
219
-
. Run the following command and generate the deployment manifest:
220
-
+
221
-
--
222
-
[source,terminal]
223
-
----
224
-
make deployment-manifest
225
-
----
226
-
227
-
The previous command generates a file named `rhdh-operator-<VERSION>.yaml`, which is updated manually.
228
-
--
229
-
230
-
. Run the following command to apply replacements in the generated deployment manifest:
231
-
+
232
-
--
233
-
[source,terminal]
234
-
----
235
-
sed -i "s/backstage-operator/rhdh-operator/g" rhdh-operator-*.yaml
236
-
sed -i "s/backstage-system/rhdh-operator/g" rhdh-operator-*.yaml
237
-
sed -i "s/backstage-controller-manager/rhdh-controller-manager/g" rhdh-operator-*.yaml
238
-
----
239
-
--
240
-
241
-
. Open the generated deployment manifest file in an editor and perform the following steps:
242
-
.. Locate the `db-statefulset.yaml` string and add the `fsGroup` to its `spec.template.spec.securityContext`, as shown in the following example:
243
-
+
244
-
--
245
-
[source,yaml]
246
-
----
247
-
db-statefulset.yaml: |
248
-
apiVersion: apps/v1
249
-
kind: StatefulSet
250
-
--- TRUNCATED ---
251
-
spec:
252
-
--- TRUNCATED ---
253
-
restartPolicy: Always
254
-
securityContext:
255
-
# You can assign any random value as fsGroup
256
-
fsGroup: 2000
257
-
serviceAccount: default
258
-
serviceAccountName: default
259
-
--- TRUNCATED ---
260
-
----
261
-
--
262
-
263
-
.. Locate the `deployment.yaml` string and add the `fsGroup` to its specification, as shown in the following example:
264
-
+
265
-
--
266
-
[source,yaml]
267
-
----
268
-
deployment.yaml: |
269
-
apiVersion: apps/v1
270
-
kind: Deployment
271
-
--- TRUNCATED ---
272
-
spec:
273
-
securityContext:
274
-
# You can assign any random value as fsGroup
275
-
fsGroup: 3000
276
-
automountServiceAccountToken: false
277
-
--- TRUNCATED ---
278
-
----
279
-
--
280
-
281
-
.. Locate the `service.yaml` string and change the `type` to `NodePort` as follows:
282
-
+
283
-
--
284
-
[source,yaml]
285
-
----
286
-
service.yaml: |
287
-
apiVersion: v1
288
-
kind: Service
289
-
spec:
290
-
# NodePort is required for the ALB to route to the Service
291
-
type: NodePort
292
-
--- TRUNCATED ---
293
-
----
294
-
--
295
-
296
-
.. Replace the default images with the images that are pulled from the {company-name} Ecosystem:
297
-
+
298
-
--
299
-
[source,terminal,subs="attributes+"]
300
-
----
301
-
sed -i "s#gcr.io/kubebuilder/kube-rbac-proxy:.*#registry.redhat.io/openshift4/ose-kube-rbac-proxy:v{ocp-version}#g" rhdh-operator-*.yaml
302
-
303
-
sed -i "s#(quay.io/janus-idp/operator:.*|quay.io/rhdh-community/operator:.*)#registry.redhat.io/rhdh/rhdh-rhel9-operator:{product-version}#g" rhdh-operator-*.yaml
304
-
305
-
sed -i "s#quay.io/janus-idp/backstage-showcase:.*#registry.redhat.io/rhdh/rhdh-hub-rhel9:{product-version}#g" rhdh-operator-*.yaml
306
-
307
-
sed -i "s#quay.io/fedora/postgresql-15:.*#registry.redhat.io/rhel9/postgresql-15:latest#g" rhdh-operator-*.yaml
308
-
----
309
-
--
310
-
311
-
. Add the image pull secret to the manifest in the Deployment resource as follows:
312
-
+
313
-
--
314
-
[source,yaml]
315
-
----
316
-
--- TRUNCATED ---
317
-
318
-
apiVersion: apps/v1
319
-
kind: Deployment
320
-
metadata:
321
-
labels:
322
-
app.kubernetes.io/component: manager
323
-
app.kubernetes.io/created-by: rhdh-operator
324
-
app.kubernetes.io/instance: controller-manager
325
-
app.kubernetes.io/managed-by: kustomize
326
-
app.kubernetes.io/name: deployment
327
-
app.kubernetes.io/part-of: rhdh-operator
328
-
control-plane: controller-manager
329
-
name: rhdh-controller-manager
330
-
namespace: rhdh-operator
331
-
spec:
332
-
replicas: 1
333
-
selector:
334
-
matchLabels:
335
-
control-plane: controller-manager
336
-
template:
337
-
metadata:
338
-
annotations:
339
-
kubectl.kubernetes.io/default-container: manager
340
-
labels:
341
-
control-plane: controller-manager
342
-
spec:
343
-
imagePullSecrets:
344
-
- name: rhdh-pull-secret
345
-
--- TRUNCATED ---
346
-
----
347
-
--
348
-
349
-
. Apply the manifest to deploy the operator using the following command:
350
-
+
351
-
--
352
-
[source,terminal]
353
-
----
354
-
kubectl apply -f rhdh-operator-VERSION.yaml
355
-
----
356
-
--
357
-
358
-
. Run the following command to verify that the Operator is running:
0 commit comments