# LTG Meetings May 22 **Hub Link:** https://hub.binder.ltg.cs.uga.edu/ May 8, 2023 === :::info - **Date:** May 8, 2:00 PM - **Zoom:** [link](https://zoom.us/j/99793786124?pwd=RWswN1N1OUhUM240MlN4TGV4ODFCdz09) - **Agenda** 1. Discussion 2. Action items - **Participants:** - Shannon - Michael - **Host:** Shannon ::: Repo: https://github.com/quinngroup/K3S Project Board: https://github.com/orgs/quinngroup/projects/1 :desktop_computer: List of Servers --- - ⚠️ Atlantis (unknown, should probably just retire) - ✅ Ronon - ⚠️ Rodney (never updated to 22.04, will be updated) - ⚠️ Elizabeth (network issues) - ✅ Thor - ✅ Loki - ✅ Logan - ✅ Daniel - ✅ Oneill - ✅ Carson :information_source: Points of discussion --- :dart: Action items --- :newspaper: Meeting Notes --- April 18, 2023 === :::info - **Date:** April 18, 3:00 PM - **Zoom:** [link](https://zoom.us/j/99793786124?pwd=RWswN1N1OUhUM240MlN4TGV4ODFCdz09) - **Agenda** 1. Discussion 2. Action items - **Participants:** - Shannon - Alireza - **Host:** Shannon ::: Repo: https://github.com/quinngroup/K3S Project Board: https://github.com/orgs/quinngroup/projects/1 :desktop_computer: List of Servers --- - ⚠️ Atlantis (unknown, should probably just retire) - ✅ Ronon - ⚠️ Rodney (never updated to 22.04, will be updated) - ⚠️ Elizabeth (network issues) - ✅ Thor - ✅ Loki - ✅ Logan - ✅ Daniel - ✅ Oneill - ✅ Carson :information_source: Points of discussion --- **BinderHub** - hub.binder.cs.uga.edu **JupyterHub** - jhub.ltg.cs.uga.edu - **Need a stable NFS server.** (after `atlantis`, the point NAS that Piotr is pushing is probably the best option. currently in use for Franklin) :dart: Action items --- - Alireza - [ ] Get JupyterHub up and running https://github.com/quinngroup/K3S/issues/28 - Piotr - [ ] Bring `rodney` and `elizabeth` back up https://github.com/quinngroup/K3S/issues/30 - Anne - [ ] Work with Alireza on BinderHub deployment https://github.com/quinngroup/K3S/issues/19 - Shannon - Other tasks - :newspaper: Meeting Notes --- April 10, 2023 === :::info - **Date:** April 10, 2:00 PM - **Zoom:** [link](https://zoom.us/j/99793786124?pwd=RWswN1N1OUhUM240MlN4TGV4ODFCdz09) - **Agenda** 1. Discussion 2. Action items - **Participants:** - Shannon - Michael - **Host:** Shannon ::: Repo: https://github.com/quinngroup/K3S Project Board: https://github.com/orgs/quinngroup/projects/1 :information_source: Points of discussion --- Possible classes to target: https://github.com/quinngroup/K3S/issues/21 - 1360E! - Chat with **Amirian** - She's also teaching 1301E so she might be busy - 3360E Data Science I - **Peng** (also teaching another class) - 3030E - first time Arabnia is teaching this class online - it's **165 people** - but could also potentially be a good stress test for JupyterHub - not a lot of coding in this class, but **a lot of writing** :dart: Action items --- **Shannon** - [ ] email Peng, Amirian (cc Michael) - [ ] design some easy examples we can walk through with potential instructors - [ ] check in with the rest of the team to determine binder test cluster status, and JupyterHub cluster status **JupyterHub spawner is failing.** Both Michael and I tried to log in--landing page worked, but after logging in, nothing. **Can we get a status page for the clusters?** A way to determine whether things are up and running or not. :newspaper: Meeting Notes --- --- April 4, 2023 === :::info - **Date:** April 4, 3:00 PM - **Zoom:** [link](https://zoom.us/j/99793786124?pwd=RWswN1N1OUhUM240MlN4TGV4ODFCdz09) - **Agenda** 1. Status and Updates 2. BHub and JHub Reports 3. Action items - **Participants:** - Shannon - Anne - Piotr - Alireza - **Host:** Shannon ::: Repo: https://github.com/quinngroup/K3S Project Board: https://github.com/orgs/quinngroup/projects/1 :desktop_computer: List of Servers --- - ⚠️ Atlantis (control-plane) - ✅ Ronon - ✅ Rodney - ✅ Elizabeth - ✅ Thor - ✅ Loki - ✅ Logan - ✔️ **Daniel** (new!) - ✔️ **Oneill** (new!) - ✔️ **Carson** (new!) :cyclone: Follow up from March 7 --- - Cluster nodes - status of Atlantis - which server will taken over control-plane duties? - status of Logan - bring in oneill ? - Alireza - Seafile integration? (no GitHub issue) - k3s install script? https://github.com/quinngroup/K3S/issues/13 - Anne - Set up BinderHub on official k3s cluster nodes https://github.com/quinngroup/K3S/issues/15 - look into metallb's BGP configuration https://metallb.universe.tf/configuration/#bgp-configuration - Open issues BinderHub Report --- - Anne has a working metallb configuration on the new subnet - Also has SSL certs - Waiting for DNS changes to go through for new IP address JupyterHub Report --- - Should be ready! Just need a cluster :information_source: Points of discussion --- - **Testing** - Dr. Cotterell said he could start using parts of this platform **this semester**. When are we ready for that? - Other professors for summer courses--who can we start reaching out to? :dart: Action items --- **Anne, Alireza** - [ ] Set up a k3s cluster on the new unconfigured machines (Carson, Oneill, Daniel) - [ ] Install BinderHub on this new cluster **Piotr** - [ ] Upgrade Roci to 22.04, tie into MyID, fix CUDA / Nvidia drivers **Shannon** - [x] Complete roadmap from where we are now to where we want to be, on GitHub :newspaper: Meeting Notes --- - Need to start thinking of an autograder setup! - Other campus attempts - Someone in Computational Chemistry running his own JupyterHub instance (~15 users, no autograders) - GACRC allows JupyterHub, but has to set up a lot of configuration options that are not intuitive --- March 7, 2023 === :::info - **Date:** March 7, 3:00 PM - **Zoom:** [link](https://zoom.us/j/99793786124?pwd=RWswN1N1OUhUM240MlN4TGV4ODFCdz09) - **Agenda** 1. Status and Updates 2. BHub and JHub Reports 3. Action items - **Participants:** - Shannon - Anne - Piotr - Alireza - **Host:** Shannon ::: Repo: https://github.com/quinngroup/K3S :desktop_computer: List of Servers --- - ✅ Atlantis (control-plane) - ✅ Ronon - ~~❓ Teyla~~ - ✅ Rodney - ✅ Elizabeth - ✅ Thor - ✅ Loki - ❓ Logan :cyclone: Follow up from February 14 --- - Open issues - Public BHub IP https://github.com/quinngroup/K3S/issues/7 - External BHub domain name https://github.com/quinngroup/K3S/issues/10 - JHub status https://github.com/quinngroup/K3S/issues/11 - Failing JHub pods https://github.com/quinngroup/K3S/issues/12 - Officially resolved! - Needed to tear-down and re-build cluster from scratch but now it seems to be working. - Server upgrades - Atlantis - Logan - Loki - Thor - Metallb configuration for BHub - https://metallb.universe.tf/configuration/#bgp-configuration BinderHub Report --- https://github.com/quinngroup/K3S/tree/main/create-binder-jupyter-nfs - controller listens on 1 IP - binder.cs and jhub2.cs both resolve to the same IP - Used Podman instead of Docker, since it's suuuuper simple - https://github.com/quinngroup/JupyterDay2018-Cilia-Segmentation works just fine! - So does https://github.com/eds-uga/cbio-x835-sp20 - **Major load concerns**: even one user can potentially lock themselves out by hitting too many requests JupyterHub Report --- **Thorny issue on failing PVCs has been fixed!** See the ticket for details. https://github.com/quinngroup/K3S/issues/12 :information_source: Points of discussion --- - How to access `kubectl`? (for non-Alireza users here) - SeaFile discussion - Can share files over JupyterHub :dart: Action items --- **Shannon** - [x] Follow up in 1 week (Tues, March 14) **Alireza** - [ ] Create a ticket to chart the investigation into SeaFile + JHub integration - [ ] Boil down k3s install to a bash script **Piotr** - [ ] Spend a day moving all the physical nodes onto the same network **Anne** - [ ] Set up BinderHub on the official k3s cluster using the same configuration as is currently at binder.cs - [ ] Check out metallb's BGP configuration https://metallb.universe.tf/configuration/#bgp-configuration :newspaper: Meeting Notes --- Remove Teyla from the group --- February 14, 2023 === :::info - **Date:** Feb 14, 3:00 PM - **Zoom:** [link](https://zoom.us/j/99793786124?pwd=RWswN1N1OUhUM240MlN4TGV4ODFCdz09) - **Agenda** 1. Current status of project (follow-up) 2. Points of discussion 3. Goals - **Participants:** - Shannon - Anne - Michael - Piotr - Alireza - **Host:** Shannon ::: Repo: https://github.com/quinngroup/K3S :desktop_computer: List of Servers --- - ✅ Atlantis (control-plane) - ✅ Ronon - ❓ Teyla - ✅ Rodney - ✅ Elizabeth - ✅ Thor - ✅ Loki :cyclone: Follow up from July 15 --- - We've got a good k3s setup - `teyla` status is still unknown but 6 machines should be more than sufficient - Old repo was archived - Now exclusively on https://github.com/quinngroup/K3S - Some outstanding issues left unanswered from July 15 - **domains** - Need two A domains for BinderHub - Need one A domain for JupyterHub - Minimum of 6 public IP addresses - InCommon certs in secret pods - Status of wildcard domains - Status of SSL? - **JHub** - What is the status? - **other k3s concerns** - Switch to nginx (could also use [non-k3s traefik](https://traefik.io/)? would require re-installing k3s with `--disable-traefik` flag) - metallb deployment status? BinderHub Report --- In the k3s setup, using metallb to hand out IPs - basic setup uses ARP, but this is not allowed in the data center O_O - hence, weird SSL cert stuff - Potentially use BGP configuration for metallb? https://metallb.universe.tf/configuration/#bgp-configuration JupyterHub Report --- :information_source: Points of discussion --- - Reporting - Final summative report due Aug 31 - Interim report due ASAP - Timelines - Estimates for BinderHub / JupyterHub deployments - Testing - How are we going to test BinderHub and JupyterHub at this point? :dart: Action items --- **Shannon** - [x] Submit interim report - [x] Look into switching storage class to NFS (use Atlantis as NFS server) - [ ] Set up 1-node k3s - [x] Ping everyone on *Feb 21* to assess status **Piotr** - 3 public IPs (1 for JHub, 2 for BHub) 1. [ ] Thor is already hosting JupyterHub 2. [ ] Loki could be both landing and redirect BinderHub IPs **Alireza** - [x] Get JupyterHub back up and running; what is the status? - [ ] Get JupyterHub logs for pod that is failing > 0/6 nodes are available: 6 pod has unbound immediate PersistentVolumeClaims. Seems like the PVCs for users aren't being mounted for some reason (PV not configured properly, or at all?). ![What a user who tries to log in will see.](https://i.imgur.com/E84GVAI.png) ![The resulting hanging pods for each user.](https://i.imgur.com/DHHK7cg.png) **Anne** - [ ] SSL on BinderHub :newspaper: Meeting Notes --- According to Piotr, they will give out wildcard certificates, but only work in 2 out of the 3 browsers (works in Firefox and Chrome, but not Safari). If we can get things up and running before the end of March, Michael could make use of them for the class he's teaching this semester? Could talk with some of the instructors of summer classes to see if they could make use of the platforms. Choose a single machine, get SSL certs for it --- July 15, 2022 === :::info - **Date:** July 15, 12:00 PM - **Zoom:** [link](https://zoom.us/j/95108499231?pwd=TE02L3VwdEx4b0JxeS9LbE1IUUZMdz09) - **Agenda** 1. Current status of project (follow-up) 2. Points of discussion 3. Goals - **Participants:** - Shannon - Dr. Hill - Anne - Michael - Piotr - Alireza - **Host:** Shannon ::: Repo 1: https://github.com/quinngroup/K8S_UGA Repo 2: https://github.com/quinngroup/K3S :desktop_computer: List of Servers --- - ✅ Atlantis - ✅ Ronon - 🆘 Teyla - 🟡 Rodney - 🆘 Elizabeth - ✅ Thor - ✅ Loki :cyclone: Follow up from July 1 --- - Server access - **Alireza?** - **Alireza, Anne**: Install k3s on all servers - Atlantis, Loki, Thor, Ronon have successfully joined - Rodney is responding, but not connecting to the k3s cluster - Created issues for the errors on the repos? - https://github.com/alexellis/k3sup - Moving from https://github.com/quinngroup/K8S_UGA to https://github.com/quinngroup/K3S - Transfer any active issues over - Make sure everyone has access to the new repo - Michael's GitHub: [mepcotterell](https://github.com/mepcotterell) 👍 - **Archive** the old repo instead of deleting it - Everyone has GitHub invites to new K3S repo, and status of servers has been ascertained BinderHub Report --- ### Last week: - Needs two domains - Found a way to put InCommon certs into the secret pods, so BinderHub sees the certs as real and not self-signed - Using nginx ingress ### This week: - Run BinderHub alongside JupyterHub (in the same cluster) - Switch servers over to external IPs (need a whole collection of real IPs) - metallb will sit on those addresses - two A records for BinderHub - one A record for JupyterHub - **minimum of 6 public IP addresses** JupyterHub Report --- ### Last week: - Marcus, Anne, and Alireza got JupyterHub up and running! 🎉 - Possible issues: pre-install hooks were getting hung up, possibly due to firewall - Ended up disabling firewall entirely, after which install worked perfectly - jhub.cs.uga.edu - doesn't seem to be working? - http://172.22.162.42:32370/ - This seems to work! - Installed metallb as the load balancer - traefik wasn't recognizing the domain for TLS ### This week: - get jhub.cs.uga.edu working - get SSL working :information_source: Points of discussion --- - Final summative report due Dec 31 - June, July for implementation, technical testing, and early lesson design - Fall semester for user testing :dart: Action items --- **Alireza** - [x] Archive `K8S_UGA` repo, move anything actively being used to `K3S` repo - [ ] Start on Projects - [ ] Get in touch with Piotr to regain access to Elizabeth and Teyla pmisztal@gmail.com **Marcus** - [ ] Create a ticket for troubleshooting `jhub.cs.uga.edu` **Shannon, Anne** - [ ] Contact Piotr Monday or Tuesday about an external domain name for BinderHub - [ ] Contact Piotr about wildcard domains - [ ] Having trouble accessing `teyla` and `elizabeth` (former not responding, latter not accepting password) :newspaper: Meeting Notes --- Reminder about k3s: - comes with servicelb by default (so if installing metallb, be sure to **disable** servicelb first) - https://rancher.com/docs/k3s/latest/en/networking/ - Also make sure traefik is disabled if you're using nginx-ingress! - what kind of backend are we currently using? (docker or containerd) https://rancher.com/docs/k3s/latest/en/installation/uninstall/ mybinder specific customizations - https://github.com/jupyterhub/mybinder.org-deploy ``` k3sup install \ --ip 192.168.4.10 \ --user ubuntu \ --k3s-extra-args "--disable servicelb --disable traefik --disable local-storage" \ --k3s-channel stable ``` --- :::info - **Date:** July 1, 12:00 PM - **Zoom:** [link](https://zoom.us/j/95108499231?pwd=TE02L3VwdEx4b0JxeS9LbE1IUUZMdz09) - **Agenda** 1. Current status of project (follow-up) 2. Points of discussion 3. Goals - **Participants:** - Shannon - Dr. Hill - Anne - **Host:** Shannon ::: Main repo: https://github.com/quinngroup/K8S_UGA New repo: https://github.com/quinngroup/K3S :desktop_computer: List of Servers --- - Atlantis - Ronon - Teyla - Rodney - Elizabeth - Thor - Loki :cyclone: Follow up from June 24 --- - Server access - **Alireza?** - **Alireza, Anne**: Install k3s on all servers - Get initial (private) deployment on Thor, Loki - (we'll worry about what the full deployment will look like later) - https://github.com/alexellis/k3sup - Moving from https://github.com/quinngroup/K8S_UGA to https://github.com/quinngroup/K3S - Transfer any active issues over - Make sure everyone has access to the new repo - **Archive** the old repo instead of deleting it BinderHub Report --- ### Last week: - NO LONGER REQUIRES DOCKER! ZOMG - Stock vanilla BinderHub - nginx ingress with TLS termination - need some extra yaml code to mount InCommon certs inside pods, but otherwise works! - http://mybinder.cs.uga.edu - https://mybinder.cs.uga.edu - https://binder.cs.uga.edu - Need: - Public IP (will be running the ingress; all we need is port 443!) - DNS entry with two A records (binder.\*, hub.binder.\*) - InCommon request for two SSL certificates for those two A records - Our own on-site image registry to pull from ### This week: - Hey Shannon--**talk to Adrian**! - Potential image registries: - https://docs.docker.com/registry/ - https://goharbor.io/ JupyterHub Report --- ### Last week: - engage with JupyterHub community on getting JupyterHub running - Try this chart https://github.com/jupyterhub/zero-to-jupyterhub-k8s/tree/main/jupyterhub - need persistent volumes - need a load balancer (metallb) - k3s has its own built-in load balancer - out of all pods that need to be running, 3 out of 4 are running ### This week: - In the values part of the new chart, delete the tag part :information_source: Points of discussion --- - Final summative report due Dec 31 - June, July for implementation, technical testing, and early lesson design - Fall semester for user testing :dart: Action items --- - [ ] **Shannon**: Respond to EITS folks (let Anne go free!) - [ ] **Shannon**: get in touch with Alireza - [ ] **Marcus**: try deleting JupyterHub tag and re-running the image :newspaper: Meeting Notes --- --- :::info - **Date:** June 24, 12:00 PM - **Zoom:** [link](https://zoom.us/j/95108499231?pwd=TE02L3VwdEx4b0JxeS9LbE1IUUZMdz09) - **Agenda** 1. Current status of project 2. Points of discussion 3. Goals - **Participants:** - Shannon - Dr. Hill - Anne - **Host:** Shannon ::: Main repo: https://github.com/quinngroup/K8S_UGA :desktop_computer: List of Servers --- - Atlantis - Ronon - Teyla - Rodney - Elizabeth - Thor - Loki :computer: Tech report --- - Are any servers inaccessible? - Marcus can access all of them - Does anyone need access to servers? - Alireza: **teyla** and **elizabeth** are inaccessible Alireza: Cluster Report --- - Atlantis, Loki, and Thor have K3S installed backed by **docker** - Teyla and Ronon have it backed by **containerd**. I could resolve the problem that prevented the installation of K3S backed by docker on the servers mentioned above, but the same solution did not work on Teyla and Ronon. - K3S repo updted - **Elizabeth** is inaccessible. Teyla and Ronon are up*. - Set up NFS on Teyla. (But now Teyla is inaccessible. possible reason: firewall blocking port 22) - Just a few minutes to having a privte docker registry Anne: BinderHub Report --- - Documentation is WOEFULLY out of date - requires yaml - NO LONGER REQUIRES DOCKER! ZOMG - Stock vanilla BinderHub - nginx ingress with TLS termination - need some extra yaml code to mount InCommon certs inside pods, but otherwise works! - http://mybinder.cs.uga.edu - https://mybinder.cs.uga.edu - https://binder.cs.uga.edu - Need: - Public IP (will be running the ingress; all we need is port 443!) - DNS entry with two A records (binder.\*, hub.binder.\*) - InCommon request for two SSL certificates for those two A records - Default DockerHub integration for image storage and retrieval SUCKS - We'll need our own image registry on-site Marcus: JupyterHub Report --- - the documentation pushes one to Helm / cloud solutions - few details around self-hosted - need persistent volumes - need a load balancer (metallb) - k3s has its own built-in load balancer - out of all pods that need to be running, 3 out of 4 are running - actual hub service does not seem to be working - still debugging :information_source: Points of discussion --- - Final summative report due Dec 31 - June, July for implementation, technical testing, and early lesson design - Fall semester for user testing :dart: Action items --- - [ ] **Alireza, Anne**: Install k3s on all servers - [ ] Get initial (private) deployment on Thor, Loki - (we'll worry about what the full deployment will look like later) - https://github.com/alexellis/k3sup - [ ] **Marcus, Alireza, Anne**: BinderHub - [ ] Put in an EITS request for a public IP - zero-to-binderhub (out of date) - [x] Document installation and deployment as you are undertaking it - [ ] Engage with the binderhub community as you encounter issues - [ ] **Marcus**: engage with JupyterHub community on getting JupyterHub running - [ ] Try this chart https://github.com/jupyterhub/zero-to-jupyterhub-k8s/tree/main/jupyterhub :newspaper: Meeting Notes --- --- :::info - **Date:** June 10, 12:00 PM - **Zoom:** [link](https://zoom.us/j/95108499231?pwd=TE02L3VwdEx4b0JxeS9LbE1IUUZMdz09) - **Agenda** 1. Current status of project 2. Points of discussion - k3s - GitPod / BinderHub - nbgrader / Ottergrader - https://edstem.org/ 4. Goals - **Participants:** - Shannon - Dr. Hill - Michael - Anne - Alireza - **Host:** Shannon ::: Main repo: https://github.com/quinngroup/K8S_UGA :desktop_computer: List of Servers --- - Atlantis - Ronon - Teyla - Rodney - Elizabeth - Thor - Loki :computer: Tech report --- - Are any servers inaccessible? - Does anyone need access to servers? - **Marcus: all** - **Alireza: teyla, ronon** - University uses Bluecat/Proteus for DNS/DHCP management - Supposedly UGA didn't bother to purchase the "add-on" for unlimited subdomains - **Cannot use GitPod** :heavy_check_mark: Current status of project --- - JupyterHub - **nbgrader or Ottergrader** - BinderHub - **Use k3s, then docker** - GitPod - **Nope** - User testing - Use the CTL extension to do this testing :information_source: Points of discussion --- - Final summative report due Aug 31 - Realistically, we have: May, June - July for testing - August for writing the final report :dart: Action items --- - [ ] **Alireza**: Install k3s on all servers - [ ] k3s has to be backed by **docker**, not **containerd** - https://github.com/alexellis/k3sup - [ ] **Marcus**: JupyterHub - zero-to-jupyterhub - Marcus has tried the JupyterHub helm chart (this would certainly be the simplest approach; just be aware that Helm **hides a lot of configuration details** so be sure to look carefully at the config defaults) - [ ] **Marcus, Alireza, Anne**: BinderHub - zero-to-binderhub (out of date) - [ ] Document installation and deployment as you are undertaking it - [ ] Engage with the binderhub community as you encounter issues - [ ] **Shannon, Michael**: Autograding for JupyterHub (do a little research!) - [ ] nbgrader (ngshare, but as far as we know, this is unmaintained, so use with caution / are there any alternatives?) - [ ] Ottergrader, which is very different architecturally from nbgrader, so there are more open questions around how to adopt / best practices / etc - Autolab - [ ] **Shannon, Michael**: Documentation / Processes / Guides / Tutorials / Best Practices, all in the interest of adoption and use :newspaper: Meeting Notes --- - Class candidates - CSCI 1300 - Python - Relatively low enrollment - **We'd need to contact the instructor** - CSCI 4800 - No coding - Use for peer review! - Need some kind of a knowledge base! - Troubleshooting technical issues - Guidelines, tutorials, and best practices for designing homework assignments - Jupyter Book https://jupyterbook.org/en/stable/intro.html --- :::info - **Date:** April 29, 1:00 PM - **Zoom:** [link](https://zoom.us/j/96037120484?pwd=YWVmRjVPUmZoSVRSMlhUWDczUko0UT09) - **Agenda** 1. Current status of project 2. Synthesis with remaining timeline 3. Goals - **Participants:** - Dr. Marcus Hill - Prof. Michael Cotterell - Alireza - Anne - Shannon - **Host:** Shannon ::: Main repo: https://github.com/quinngroup/K8S_UGA :heavy_check_mark: Current status of project --- - JupyterHub - Hangup: shared storage - ngshare: https://ngshare.readthedocs.io/en/latest/ - GitHub: https://github.com/LibreTexts/ngshare - nbgrader: https://github.com/jupyter/nbgrader - Ottergrader: https://otter-grader.readthedocs.io/en/latest/ - GitHub: https://github.com/ucbds-infra/otter-grader - BinderHub - GitHub: https://github.com/jupyterhub/binderhub - Requires Docker - As of k8s 24, containerd is exclusive (relevant: https://github.com/jupyterhub/binderhub/issues/1228) - Zero to Binderhub https://binderhub.readthedocs.io/en/latest/zero-to-binderhub/index.html - GitPod - https://www.gitpod.io/ - Issues with wildcard domains: - your-domain.com - *.your-domain.com - *.ws.your-domain.com - **Could we go three levels down?** - University uses Bluecat/Proteus for DNS/DHCP management - Supposedly UGA didn't bother to purchase the "add-on" for unlimited subdomains - Alternatives - External cloud service - User testing - Use the CTL extension to do this testing :information_source: Synthesis with remaining timeline --- - Final summative report due Aug 31 - Realistically, we have: May, June - July for testing - August for writing the final report :dart: Goals --- - [ ] **Shannon**: Get in touch with Franklin OIT folks - Some servers aren't accessible - [ ] Upgrade to k3s, k8s, or RKEv2 - Stick with single-master deployment - [ ] JupyterHub deployment - [ ] [Zero to jupyterhub](https://zero-to-jupyterhub.readthedocs.io/en/latest/) for kubernetes deployment - try nbgrader + ngshare - if they don't work, THROW THEM OUT - Look into Ottergrader - [ ] GitPod/BinderHub - Start with GitPod - [ ] Michael / Shannon: submit EITS ticket, and reach out to Tim Chester - If this is denied, go with BinderHub :newspaper: Meeting Notes --- - Show viability with Jupyter - multiple kernels (Python, Java) - Address inequity on campus - Java and Python kernels - Anne - Got NFS working - New supervisor as of July 1 - Recommendation: go with smaller servers for each class, use NFS to coordinate between them - lots of trouble with etcd in a cluster with multiple masters We're using RKEv1 so that's definitely a problem - let's go with either k3s, RKEv2, or full-blown k8s --- ## Notes DNS configuration issues - there was a policy (via EITS) - couldn't use it in a straightforward way - GitPod requires a wildcard subdomain, but EITS forbids it - need a LoadBalancer (metallb) Set up a meeting with Anne (and Piotr?) to discuss ingress/DNS - Anne had a testing cluster? Custom docker registry is done! - documentation needs to be pushed out to repo (**todo**) Custom storage - not running per se but can get this set up relatively easily - can set a NAS Certificates - had self-signed certs which are problematic - Let's Encrypt (LE) (**need to check if this is available**) - dns - http **What does it take to install GitPod?** (Marcus) - Reference: https://www.gitpod.io/docs/self-hosted/latest/requirements - System: - Either Ubuntu 18.04 with ≥ v5.4 kernel or Ubuntu 20.04 with ≥ v5.4 kernel. - Calico for the networking overlay and network policy. - Kubernetes ≥ 1.21. - containerd ≥ 1.2. - DNS: - GitPod requires a domain or subdomain, and **two wildcard subdomains** - Example: - your-domain.com - *.your-domain.com - *.ws.your-domain.com - Certificats: - Encourages using [ZeroSSL](https://zerossl.com/) or [LetsEncrypt](https://letsencrypt.org/) - **Signing SSL certificates with personal cetrificate authority is not currently supported.** - Storage - Google Cloud Storage - Amazon S3 - MinIO **What does it take to get SeaFile running?** (Alireza) Deploying SeaFile using Docker containers is an easy task, however, I needed a solution for deploying it on K8S. I found a few tutorials/documents on how to do it on K8S: https://forum.seafile.com/t/deploying-modern-seafile-to-kubernetes/13986 https://artifacthub.io/packages/helm/k8s-at-home/seafile **Set up a meeting with Anne** (Shannon)