Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add document for che installation on eks #2808

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions antora.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ asciidoc:
devworkspace: DevWorkspace
devworkspace-id: devworkspace
docker-cli: docker
eks: AWS EKS
hosted-che-docs: xref:hosted-che:hosted-che.adoc[]
identity-provider-legacy-id: keycloak
identity-provider-legacy: Keycloak
Expand Down
1 change: 1 addition & 0 deletions modules/administration-guide/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
*** xref:installing-che-on-openshift-using-the-web-console.adoc[]
*** xref:installing-che-in-a-restricted-environment.adoc[]
*** xref:installing-che-on-microsoft-azure.adoc[]
*** xref:installing-che-on-AWS-EKS.adoc[]
** xref:installing-che-locally.adoc[]
*** xref:installing-che-on-red-hat-openshift-local.adoc[]
*** xref:installing-che-on-minikube.adoc[]
Expand Down
105 changes: 105 additions & 0 deletions modules/administration-guide/pages/installing-che-on-AWS-EKS.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
:_content-type: PROCEDURE
:navtitle: Installing {prod-short} on the {eks} cluster
:description: Installing {prod-short} on the {eks} cluster
:keywords: installing-{prod-short}-on-the-eks-cluster
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
:keywords: installing-{prod-short}-on-the-eks-cluster
:keywords: installation, eks cluster

:page-aliases:

[id="installing-{prod-short}-on-AWS-EKS.adoc"]
= Installing {prod-short} on the {eks} cluster
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
= Installing {prod-short} on the {eks} cluster
= Installing {prod-short} on an EKS cluster


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.Prerequisites
* A Che domain name
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* A Che domain name
* A {prod-short} domain name

* A certificate for the che domain name: private and public keys in PEM format
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* A certificate for the che domain name: private and public keys in PEM format
* A certificate (private and public keys in PEM format) for the {prod-short} domain name

* An external OIDC provider, you need the following information from your provider: Issuer URL, Client ID, Client Secret
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* An external OIDC provider, you need the following information from your provider: Issuer URL, Client ID, Client Secret
* An external OpenId Connect (OIDC) provider
* An OIDC issuer URL
* An OICD client ID
* An OICD client secret


.Install required components
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
.Install required components
.Installing required components

. Install link:https://kubernetes.github.io/ingress-nginx/[Ingress-Nginx Controller]
+
[source,shell]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please check the Red Hat Style Guide section about commands with root privileges: https://redhat-documentation.github.io/supplementary-style-guide/#commands-with-root-privileges

you'll need to edit out mentions of shell in this doc

----
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.1/deploy/static/provider/aws/deploy.yaml
----

. Install the link:https://github.com/devfile/devworkspace-operator/tree/main[devworkspace-operator]
+
[source,shell]
----
kubectl create namespace devworkspace
kubectl apply -f https://raw.githubusercontent.com/devfile/devworkspace-operator/refs/heads/main/deploy/deployment/kubernetes/combined.yaml
----

. Install the link:https://github.com/eclipse-che/che-operator[eclipse-che-operator]
+
[source,shell]
----
kubectl apply -f https://raw.githubusercontent.com/eclipse-che/che-operator/refs/heads/main/deploy/deployment/kubernetes/combined.yaml
----

.Integrate the external OIDC provider with the EKS cluster
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
.Integrate the external OIDC provider with the EKS cluster
.Integrating the external OIDC provider with the EKS cluster

* Select your EKS cluster, and then select the `Access` tab.
* In the OIDC Identity Providers section, select Associate Identity Provider.
* On the Associate OIDC Identity Provider page, enter or select the following options, and then select Associate.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's the correct name of the page, please? Associate OIDC Identity Provider or Associate Identity Provider

[subs="+quotes,attributes"]
----
For Name, enter a unique name for the provider.
For Issuer URL, enter the URL for your provider
For Client ID, enter the OIDC identity provider's client ID
For Username claim, enter `email`
----
.Create secret for the seft sign certificate
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
.Create secret for the seft sign certificate
.Creating secret for the seft-sign certificate

. Create a `che-tls` secret:
+
[subs="+quotes,attributes"]
----
$ {orch-cli} create secret tls che-tls \
--key <key_file> \
--cert <cert_file> \
-n {prod-namespace}
----

. Add the required labels to the secret:
+
[subs="+quotes,attributes"]
----
$ {orch-cli} label secret che-tls app.kubernetes.io/part-of=che.eclipse.org -n {prod-namespace}
----

.Deploy che cluster
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
.Deploy che cluster
.Deploying {prod-short} cluster

. Prepare `CheCluster` manifest file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
. Prepare `CheCluster` manifest file
. Prepare the `CheCluster` manifest file

[source,shell,subs="+attributes,+quotes"]
----
cat > /tmp/che-clsuter.yaml << EOF
kind: CheCluster
apiVersion: org.eclipse.che/v2
metadata:
name: eclipse-che
namespace: ecclipse-che
spec:
networking:
ingressClassName: nginx
auth:
oAuthClientName: <Client ID>
oAuthSecret: <Client Secret>
identityProviderURL: <Issuer URL>
gateway:
oAuthProxy:
cookieExpireSeconds: 300
deployment:
containers:
- name: oauth-proxy
env:
- name: OAUTH2_PROXY_COOKIE_CSRF_PER-REQUEST
value: "true"
domain: <che domain name>
tlsSecretName: che-tls
components:
cheServer:
extraProperties:
CHE_OIDC_USERNAME__CLAIM: email
EOF
----
. Deploy cluster
[source,shell]
----
kubectl apply -f /tmp/che-clsuter.yaml
----