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

Fix broken links for installation on Kind cluster #1280

Merged
merged 2 commits into from
May 22, 2020
Merged
Changes from 1 commit
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
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,38 @@ This section describes how to install {prod-short} on https://github.com/kuberne

.Procedure

For Eclipse Che installation, Kind cluster should have ingress backend and persitent volumes stoage backend. If these requirements are met, one may go directly to step `8`.
AndrienkoAleksandr marked this conversation as resolved.
Show resolved Hide resolved

Following instruction is a way of configuring Kind cluster to have all needed for Eclipse Che components:

. Install https://github.com/kubernetes-csi/csi-driver-host-path[csi-driver-host-path] in the kind cluster:
+
Install snapshotter CRDs as described in the https://github.com/kubernetes-csi/csi-driver-host-path/blob/master/docs/deploy-1.17-and-later.md#volumesnapshot-crds-and-snapshot-controller-installation[docs]:
+
[subs="+quotes"]
----
$ SNAPSHOTTER_VERSION=v2.1.1

# Apply VolumeSnapshot CRDs
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/${SNAPSHOTTER_VERSION}/config/crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/${SNAPSHOTTER_VERSION}/config/crd/snapshot.storage.k8s.io_volumesnapshotcontents.yaml
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/${SNAPSHOTTER_VERSION}/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml

# Create snapshot controller
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/${SNAPSHOTTER_VERSION}/deploy/kubernetes/snapshot-controller/rbac-snapshot-controller.yaml
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/${SNAPSHOTTER_VERSION}/deploy/kubernetes/snapshot-controller/setup-snapshot-controller.yaml
----
Value of the latest `SNAPSHOTTER_VERSION` could be found on https://github.com/kubernetes-csi/external-snapshotter/releases[corresponding release page].
+
Then deploy:
+
[subs="+quotes"]
----
$ git clone https://github.com/kubernetes-csi/csi-driver-host-path && cd csi-driver-host-path
$ ./deploy/kubernetes-__<version>__/deploy-hostpath.sh
$ ./deploy/kubernetes-__<version>__/deploy.sh
$ kubectl apply -f examples/csi-storageclass.yaml
----
Kubernetes version could be obtained via `kubectl version` command (see `Server Version`).

. Set `csi-hostpath-sc` as the default `StorageClass`:
+
Expand All @@ -34,15 +58,18 @@ $ kubectl patch storageclass standard -p '{"metadata": {"annotations": {"storage
. Install the https://kubernetes.github.io/ingress-nginx/deploy/[NGINX Ingress Controller]:
+
----
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud-generic.yaml
$ VERSION=0.30.0
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-${VERSION}/deploy/static/mandatory.yaml
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-${VERSION}/deploy/static/provider/cloud-generic.yaml
----

. Install the https://metallb.universe.tf/[MetalLB] load balancer:
+
[subs="+quotes"]
----
$ kubectl apply -f https://raw.githubusercontent.com/google/metallb/v__<version>__/manifests/metallb.yaml
$ kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.3/manifests/namespace.yaml
$ kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.3/manifests/metallb.yaml
$ kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"
----
+
[NOTE]
Expand Down Expand Up @@ -94,7 +121,7 @@ $ kubectl apply -f metallb-config.yaml
----
$ kubectl get svc -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx LoadBalancer 10.107.194.26 172.17.255.1 80:32033/TCP,443:30428/TCP 19h
ingress-nginx LoadBalancer 10.107.194.26 172.17.250.1 80:32033/TCP,443:30428/TCP 19h
----

. Run `{prod-cli}`, using the external IP of the `ingress-nginx` Service as an https://nip.io[nip.io] URL:
Expand All @@ -103,4 +130,8 @@ ingress-nginx LoadBalancer 10.107.194.26 172.17.255.1 80:32033/TCP,443:3
----
$ {prod-cli} server:start --installer operator --platform k8s --domain 172.17.250.1.nip.io
----

+
[NOTE]
====
In some cases, after all the steps above, it is still not possible to reach Eclipse Che from host machine. If you encounter such problem please refer to Kind cluster docs or forums on how to make an endpoint available outside Kind cluster for your system and/or network configuration.
====