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

K8s multi. Admin guide. New OpenShift deployment docs #391

Merged
10 commits merged into from
Apr 17, 2018
Merged

K8s multi. Admin guide. New OpenShift deployment docs #391

10 commits merged into from
Apr 17, 2018

Conversation

ghost
Copy link

@ghost ghost commented Apr 13, 2018

Do not merge until eclipse-che/che#9190 is merged

What's done:

  1. Kubernetes admin guide. Common for OpenShift and K8s.
  2. OpenShift config and K8s config pages refer to admin guide
  3. Deploy with help to K8s docs
  4. Updated instructions on how to deploy to OpenShift - no scripts

Copy link
Contributor

@slemeur slemeur left a comment

Choose a reason for hiding this comment

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

Really nice content.

Should we have a page "OpenShift - Admin Guide" just linking to the kubernetes one?


You can get the list of available versions at [Che GitHub page](https://github.com/eclipse/che/tags).

Since `nightly` is the default tag used in Che deployment, and image pull policy is set to Always, triggering a new deployment, will pull a newer image, if available.
Copy link
Contributor

Choose a reason for hiding this comment

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

probably add link on how to change the image pull policy

Copy link
Author

Choose a reason for hiding this comment

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

Done.

As to link to K8S admin guide, it is references from OpenShift Config page.

Copy link
Author

Choose a reason for hiding this comment

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

image

Copy link

@bmicklea bmicklea left a comment

Choose a reason for hiding this comment

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

I'm not sold on the idea of forcing OpenShift users to jump through the K8S and OS install pages. GitHub pages lets you use common text to populate multiple pages - we should use something like that so the K8S and OpenShift pages can have identical content sections (updated in one place) without forcing one or other to read multiple pages.

| installers | yes | some installers may require [sudo access](openshift-config.html#enable-ssh-and-sudo) |
| file system permissions | not limited | limited to directories owned by root [group](openshift-config.html#filesystem-permissions) |
| Feature | **Docker** | **OpenShift** | **Kubernetes** |
| root access | yes | no (See: [Configuration](openshift-config.html#enable-ssh-and-sudo)) | yes |

Choose a reason for hiding this comment

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

I think this line should say "yes" for OpenShift with the link you provided since you can do it.

Copy link
Author

Choose a reason for hiding this comment

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

Fixed

| root access | yes | no (See: [Configuration](openshift-config.html#enable-ssh-and-sudo)) | yes |
| https | no | yes (See: [Configuration](openshift-config.html#https-mode)) | yes |
| scalability | no | yes (See: [Configuration](openshift-config.html#scalability)) | yes |
| priviliged containers | yes | no (configurable in [OpenShift](https://docs.openshift.com/container-platform/3.6/admin_guide/manage_scc.html#grant-access-to-the-privileged-scc)) | yes |

Choose a reason for hiding this comment

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

same as above, since you can do it - should say "yes"

Copy link
Author

Choose a reason for hiding this comment

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

Fixed

| priviliged containers | yes | no (configurable in [OpenShift](https://docs.openshift.com/container-platform/3.6/admin_guide/manage_scc.html#grant-access-to-the-privileged-scc)) | yes |
| health checks | no | yes | yes |
| persistent preview URLs | no | yes | yes |
| installers | yes | some installers may require [sudo access](openshift-config.html#enable-ssh-and-sudo) | yes |

Choose a reason for hiding this comment

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

Again - change text for OpenShift to "yes, some installers may require..."

Copy link
Author

Choose a reason for hiding this comment

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

Fixed


**Single User**

Che server pod consumes up to 1GB RAM. The initial request is 256MB, and server pod rarely consumes more than 800MB. A typical workspace will require 2GB. So, **<span style="color:red;">3GB</span>** is a bare minimum to try single user Che on OpenShift/Kubernetes.

Choose a reason for hiding this comment

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

remove "bare" (not needed)

Copy link
Author

Choose a reason for hiding this comment

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

Fixed


* If there's `CHE_INFRA_KUBERNETES_OAUTH__TOKEN` fabric8 client will use it. If both are available, token has a priority over username/pass.

* If none are available **che service account** is used to create workspace objects. This is default behavior. Since che SA cannot create objects outside a namespace it's bound to, all workspace objects are created in Che namespace. Admins can grant `che` [service account super user permissions](https://kubernetes.io/docs/admin/authorization/rbac/#service-account-permissions), and this way it will be possible to use this SA to create objects outside Che namespace. OpenShift cluster admins can do it this way using oc CLI:

Choose a reason for hiding this comment

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

I don't understand what "Since che SA cannot..." means - is that a typo?

Copy link
Author

Choose a reason for hiding this comment

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

SA == service account. Fixed.

|**common**|One PVC for all workspaces, sub-paths pre-created| easy to manage and control storage. no need to recycle PVs when pod with pvc is deleted | ws pods should all be in one namespace
|**unique**|PVC per workspace| Storage isolation | An undefined number of PVs is required |

## Common PVC strategy

Choose a reason for hiding this comment

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

Headings should consistently use title case.

Copy link
Author

Choose a reason for hiding this comment

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

fixed


This is going to be changed once [this issue](https://github.com/eclipse/che/issues/8178) is completed.
This page describes OpenShift specific configuration. Refer to [Kubernetes Admin Guide][kubernetes-admin-guide] to general information that works both for OS and K8S.

Choose a reason for hiding this comment

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

So for OpenShift someone would do everything in the K8S section, then come back here and do all the stuff here?

Copy link
Author

Choose a reason for hiding this comment

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

Fixed. Now k8s guide is embedded in k8s and openshift admin guide pages

@ghost
Copy link
Author

ghost commented Apr 17, 2018

@bmicklea all issues addressed. PR in Che merged. Merging this one as well.

@ghost ghost merged commit f1c1d3e into master Apr 17, 2018
@ghost ghost deleted the admin_guide branch April 17, 2018 17:30
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants