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-deploy-rhdh-instance-gke.adoc
+92-8Lines changed: 92 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,11 +8,11 @@
8
8
.Prerequisites
9
9
10
10
* A cluster administrator has installed the {product} Operator.
11
-
* You have an {eks-short} cluster with {aws-short} Application Load Balancer (ALB) add-on installed. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html[Application load balancing on {eks-brand-name}] and https://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html[Installing the AWS Load Balancer Controller add-on].
12
-
* You have configured a domain name for your {product-short} instance. The domain name can be a hosted zone entry on Route 53 or managed outside of AWS. For more information, see https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring.html[Configuring Amazon Route 53 as your DNS service] documentation.
13
-
* You have an entry in the {aws-short} Certificate Manager (ACM) for your preferred domain name. Make sure to keep a record of your Certificate ARN.
11
+
//* You have an {eks-short} cluster with {aws-short} Application Load Balancer (ALB) add-on installed. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html[Application load balancing on {eks-brand-name}] and https://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html[Installing the AWS Load Balancer Controller add-on].
12
+
//* You have configured a domain name for your {product-short} instance. The domain name can be a hosted zone entry on Route 53 or managed outside of AWS. For more information, see https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring.html[Configuring Amazon Route 53 as your DNS service] documentation.
13
+
//* You have an entry in the {aws-short} Certificate Manager (ACM) for your preferred domain name. Make sure to keep a record of your Certificate ARN.
14
14
* You have subscribed to `registry.redhat.io`. For more information, see https://access.redhat.com/RegistryAuthentication[{company-name} Container Registry Authentication].
15
-
* 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].
15
+
//* 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].
16
16
* You have installed `kubectl`. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html[Installing or updating kubectl].
17
17
18
18
.Procedure
@@ -29,18 +29,18 @@ metadata:
29
29
data:
30
30
"app-config-rhdh.yaml": |
31
31
app:
32
-
title: {product}
33
-
baseUrl: https://<rhdh_dns_name>
32
+
title: Red Hat Developer Hub
33
+
baseUrl: https://<rhdh_domain_name>
34
34
backend:
35
35
auth:
36
36
externalAccess:
37
37
- type: legacy
38
38
options:
39
39
subject: legacy-default-config
40
40
secret: "${BACKEND_SECRET}"
41
-
baseUrl: https://<rhdh_dns_name>
41
+
baseUrl: https://<rhdh_domain_name>
42
42
cors:
43
-
origin: https://<rhdh_dns_name>
43
+
origin: https://<rhdh_domain_name>
44
44
----
45
45
--
46
46
@@ -107,6 +107,89 @@ spec:
107
107
----
108
108
--
109
109
110
+
. Set up a Google-managed certificate by creating a `ManagedCertificate` object that you will later attach to the Ingress.
111
+
+
112
+
--
113
+
[source,yaml,subs="attributes+"]
114
+
----
115
+
apiVersion: networking.gke.io/v1
116
+
kind: ManagedCertificate
117
+
metadata:
118
+
name: <rhdh_certificate_name>
119
+
spec:
120
+
domains:
121
+
- <rhdh_domain_name>
122
+
----
123
+
--
124
+
For more information about setting up a Google-managed certificate, see https://cloud.google.com/kubernetes-engine/docs/how-to/managed-certs?hl=en#setting_up_a_google-managed_certificate
125
+
126
+
. Create a `FrontendConfig` object to set a policy for redirecting to HTTPS. You will later attach this policy to the Ingress.
127
+
+
128
+
--
129
+
[source,yaml,subs="attributes+"]
130
+
----
131
+
apiVersion: networking.gke.io/v1beta1
132
+
kind: FrontendConfig
133
+
metadata:
134
+
name: <ingress_security_config>
135
+
spec:
136
+
sslPolicy: gke-ingress-ssl-policy-https
137
+
redirectToHttps:
138
+
enabled: true
139
+
----
140
+
--
141
+
For more information about setting a policy to redirect to HTTPS, see https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-configuration?hl=en#https_redirect
142
+
143
+
. Create an Ingress resource using the following template, customizing the names as needed:
144
+
+
145
+
--
146
+
[source,yaml,subs="attributes+"]
147
+
----
148
+
apiVersion: networking.k8s.io/v1
149
+
kind: Ingress
150
+
metadata:
151
+
# TODO: this the name of your Developer Hub Ingress
152
+
name: my-rhdh
153
+
annotations:
154
+
# If the class annotation is not specified it defaults to "gce".
# TODO: my-rhdh is the name of your Backstage Custom Resource.
171
+
# Adjust if you changed it!
172
+
name: backstage-my-rhdh
173
+
port:
174
+
name: http-backend
175
+
----
176
+
--
177
+
178
+
. Wait for the `ManagedCertificate` to be provisioned. This can take a couple of hours.
179
+
180
+
. Access RHDH with `https://<rhdh_domain_name>`
181
+
+
182
+
[IMPORTANT]
183
+
Use the HTTPS protocol, not HTTP.
184
+
185
+
.Additional information
186
+
For more information on setting up GKE using Ingress with TLS, see https://github.com/GoogleCloudPlatform/gke-networking-recipes/tree/main/ingress/single-cluster/ingress-https
187
+
188
+
For more information on setting up GKE with LoadBalancer instead of Ingress, see https://github.com/sumiranchugh/rhdh-gke-poc/tree/main
189
+
190
+
191
+
192
+
////
110
193
. Create an Ingress resource using the following template, ensuring to customize the names as needed:
111
194
+
112
195
--
@@ -156,3 +239,4 @@ In the previous template, replace ` <rhdh_dns_name>` with your {product-short} d
156
239
.Verification
157
240
158
241
Wait until the DNS name is responsive, indicating that your {product-short} instance is ready for use.
Copy file name to clipboardExpand all lines: modules/installation/proc-rhdh-deploy-gke-helm.adoc
+87-51Lines changed: 87 additions & 51 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,17 +4,17 @@
4
4
[id='proc-rhdh-deploy-gke-helm_{context}']
5
5
= Installing {product-short} on {gke-short} with the Helm chart
6
6
7
-
When you install the {product-short} Helm chart in {gke-name} ({gke-short}), it orchestrates the deployment of a {product-short} instance, which provides a robust developer platform within the {aws-short} ecosystem.
7
+
When you install the {product-short} Helm chart in {gke-name} ({gke-short}), it orchestrates the deployment of a {product-short} instance, which provides a robust developer platform within the {gke-short} ecosystem.
8
8
9
9
.Prerequisites
10
10
11
-
* You have an {eks-short} cluster with AWS Application Load Balancer (ALB) add-on installed. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html[Application load balancing on Amazon {product-short}] and https://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html[Installing the AWS Load Balancer Controller add-on].
12
-
* You have configured a domain name for your {product-short} instance. The domain name can be a hosted zone entry on Route 53 or managed outside of AWS. For more information, see https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring.html[Configuring Amazon Route 53 as your DNS service] documentation.
13
-
* You have an entry in the AWS Certificate Manager (ACM) for your preferred domain name. Make sure to keep a record of your Certificate ARN.
11
+
//* You have an {eks-short} cluster with AWS Application Load Balancer (ALB) add-on installed. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html[Application load balancing on Amazon {product-short}] and https://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html[Installing the AWS Load Balancer Controller add-on].
12
+
//* You have configured a domain name for your {product-short} instance. The domain name can be a hosted zone entry on Route 53 or managed outside of AWS. For more information, see https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring.html[Configuring Amazon Route 53 as your DNS service] documentation.
13
+
//* You have an entry in the AWS Certificate Manager (ACM) for your preferred domain name. Make sure to keep a record of your Certificate ARN.
14
14
* You have subscribed to `registry.redhat.io`. For more information, see https://access.redhat.com/RegistryAuthentication[{company-name} Container Registry Authentication].
15
-
* 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].
15
+
//* 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].
16
16
* You have installed `kubectl`. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html[Installing or updating kubectl].
17
-
* You have installed Helm 3 or the latest. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/helm.html[Using Helm with Amazon {eks-short}].
17
+
//* You have installed Helm 3 or the latest. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/helm.html[Using Helm with Amazon {eks-short}].
The created pull secret is used to pull the {product-short} images from the {company-name} Ecosystem.
46
47
--
47
48
48
-
. Create a file named `values.yaml` using the following template:
49
+
. Set up a Google-managed certificate by creating a `ManagedCertificate` object that you will later attach to the Ingress.
49
50
+
51
+
--
50
52
[source,yaml,subs="attributes+"]
51
53
----
52
-
global:
53
-
# TODO: Set your application domain name.
54
-
host: <your {product-short} domain name>
54
+
apiVersion: networking.gke.io/v1
55
+
kind: ManagedCertificate
56
+
metadata:
57
+
name: <rhdh_certificate_name>
58
+
spec:
59
+
domains:
60
+
- <rhdh_domain_name>
61
+
----
62
+
--
63
+
For more information about setting up a Google-managed certificate, see https://cloud.google.com/kubernetes-engine/docs/how-to/managed-certs?hl=en#setting_up_a_google-managed_certificate
55
64
65
+
. Create a `FrontendConfig` object to set a policy for redirecting to HTTPS. You will later attach this policy to the Ingress.
66
+
+
67
+
--
68
+
[source,yaml,subs="attributes+"]
69
+
----
70
+
apiVersion: networking.gke.io/v1beta1
71
+
kind: FrontendConfig
72
+
metadata:
73
+
name: <ingress_security_config>
74
+
spec:
75
+
sslPolicy: gke-ingress-ssl-policy-https
76
+
redirectToHttps:
77
+
enabled: true
78
+
----
79
+
--
80
+
For more information about setting a policy to redirect to HTTPS, see https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-configuration?hl=en#https_redirect
56
81
82
+
. Create a file named `values.yaml` using the following template:
83
+
+
84
+
[source,yaml,subs="attributes+"]
85
+
----
86
+
global:
87
+
host: <rhdh_domain_name>
57
88
route:
58
89
enabled: false
59
-
60
-
61
90
upstream:
62
91
service:
63
-
# NodePort is required for the ALB to route to the Service
64
92
type: NodePort
65
-
66
-
67
93
ingress:
68
94
enabled: true
69
95
annotations:
70
-
kubernetes.io/ingress.class: alb
71
-
72
-
73
-
alb.ingress.kubernetes.io/scheme: internet-facing
74
-
75
-
76
-
# TODO: Using an ALB HTTPS Listener requires a certificate for your own domain. Fill in the ARN of your certificate, e.g.:
0 commit comments