Skip to content

Commit

Permalink
Updated k8s description
Browse files Browse the repository at this point in the history
  • Loading branch information
enolfc committed May 14, 2019
1 parent 39dc072 commit 516ee89
Showing 1 changed file with 16 additions and 12 deletions.
28 changes: 16 additions & 12 deletions source/technical.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,31 +24,35 @@ functionality:
* VO-Specific storage/Big data facilities or any pluggable tools into the
notebooks environment can be added to community specific instances.


.. [[File:EGI_Notebooks_Stack.png|center|650px|EGI Notebooks Achitecture]]
Kubernetes usage
::::::::::::::::
Kubernetes
::::::::::

A Kubernetes (k8s) cluster deployed into a resource provider is in charge of
managing the containers that will provide the service. On this cluster there are:

* 1 master node that manages the whole cluster

* 1 or more edge nodes with a public IP and corresponding public DNS name
(notebooks.egi.eu) where a k8s ingress HTTP reverse proxy redirects requests
from user to other components of the service. The HTTP server has a valid
certificate from one CA recognised at most browsers (e.g. DigiCert).
* Support for load balancer or alternatively 1 or more edge nodes with a
public IP and corresponding public DNS name (e.g. notebooks.egi.eu) where
a k8s ingress HTTP reverse proxy redirects requests from user to other
components of the service. The HTTP server has a valid certificate from
one CA recognised at most browsers (e.g. Let's Encrypt).

* 1 or more nodes that host the JupyterHub server, the notebooks servers where
the users will run their notebooks. Hub is deployed using the
`JupyterHub helm charts <https://jupyterhub.github.io/helm-chart/>`_.
`JupyterHub helm charts <https://jupyterhub.github.io/helm-chart/>`_. These
nodes should have enough capacity to run as many concurrent user notebooks as
needed. Main constraint is usually memory.

* Persistent storage managed via NFS to be exposed into the notebooks as
user space.
* Support for `Kubernetes PersistentVolumeClaims <https://kubernetes.io/docs/concepts/storage/persistent-volumes/>`_
for storing the persistent folders. Default EGI-Notebooks installation
uses NFS, but any other volume type with ReadWriteOnce capabilities can be
used.

* Prometheus allows monitoring of usage of resources and it's queried by the
accounting plugin to produce accounting records.
* Prometheus installation to monitor the usage of resources so accounting
records are generated.

All communication with the user goes via HTTPS and the service only needs a
publicly accessible entry point (public IP with resolvable name)
Expand Down

0 comments on commit 516ee89

Please sign in to comment.