Jupyter

Jupyter Service

Jupyter er en tjeneste på Dapla Lab som lar brukerne kode i Jupyterlab. Tjenesten kommer med R og Python og noen vanlige Jupyterlab-extensions ferdig installert. Målgruppen for tjenesten er brukere som skal skrive produksjonskode i Jupyterlab.

Siden tjenesten er ment for produksjonskode så er det veldig få R- og Python-pakker som er forhåndsinstallert. Antagelsen er at brukeren/teamet heller bør installere de pakkene de selv trenger, framfor at det ligger ferdiginstallerte pakker som skal dekke behovet til alle brukere/team i SSB. Det reduserer kompleksitet i tjenesten og dermed sannsynligheten for feilsituasjoner.

For uerfarne brukere finnes det en egen tjeneste som heter Jupyter-playground. Her er mange av de vanlige R- og Python-pakkene installert og det er opprettet en ferdig kernel som lar brukerne komme i gang fort med koding. Denne tjenesten er ikke tenkt for bruk i produksjonskode.

Forberedelser

Før man starter Jupyter-tjenesten bør man ha lest kapitlet om Dapla Lab og satt opp Git- og GitHub-konfigurasjonen under Min konto. Deretter gjør du følgende:

  1. Logg deg inn på Dapla Lab
  2. Under Tjenestekatalog trykker du på Start-knappen for Jupyter
  3. Gi tjenesten et navn
  4. Åpne Jupyter konfigurasjoner

Konfigurasjon

Før man åpner en tjeneste kan man konfigurere hvor mye ressurser man ønsker, hvilket team man skal representere, om et GitHub-repo skal klones ved oppstart, og mange andre ting. Valgene man gjør kan også lagres slik at man å slipper å gjøre samme jobb senere. Figur 1 viser første fane i tjenestekonfigurasjonen for Jupyter.

Viser tjenestekonfigurasjonen i Dapla Lab.
Figur 1: Detaljert tjenestekonfigurasjon i Dapla Lab

Service

I fanen Service kan man velge hvilke PullPolicy som skal gjelde ved oppstart av Jupyter, samt Version av tjenesten. PullPolicy trenger brukerne sjelden å endre på, mens Version lar brukeren velge hvilken versjon av tjenesten som skal benyttes.

Siden Jupyter-tjenesten kommer installert med både R- og Python så er det her man velger hvilke versjoner av disse man ønsker. Man kan velge mellom alle tidligere tilbudte kombinasjoner av R og Python. I Figur 1 ser vi av navnet jupyter:r4.4.0-py311 at tjenesten som default vil startes versjon 4.4.0 av R og 3.11 for Python. Etter hvert som nye versjoner av R og Python kommer kan disse tilgjengeliggjøres i tjenesten, men brukeren kan velge å starte en eldre versjon av tjenesten.

Buckets

Under Buckets kan man velge Enable for å få tilgang til data fra bøtter i tjenesten. I tillegg må man velge hvilket team og tilgangsgruppe man skal representere.

Viser tjenestekonfigurasjonen i Dapla Lab.
Figur 2: Detaljert tjenestekonfigurasjon for bøttetilgang i Dapla Lab

Figur 2 viser at man kan velge blant alle developers-gruppene i alle team man er medlem i. Velger man f.eks. å representere Dapla group teama-developers så kan man få alle standard-bøtter (produkt, frasky, tilsky og egne delt-bøtter) for det teamet. Men man får ikke tilgang til bøtter som man har tilgang til gjennom andre team.

Man kan også spesifisere andre bøtter som skal tilgjengliggjøres i tjenesten teamet og tilgangsgruppen har tilgang til. Typisk vil dette være andre sine delt-bøtter som teamet har fått tilgang til.

Resources

Under fanen Resources kan man velge hvor mye CPU og RAM man ønsker i tjenesten, slik som vist i Figur 3. Velg så lite trengs for å gjøre jobben du skal gjøre.

Viser Resources-fanen i Jupyter-konfigurasjonen i Dapla Lab.
Figur 3: Konfigurasjon av ressurser for Jupyter-tjenesten i Dapla Lab

Persistence

Som default får alle som starter en instans av Jupyter-tjenesten en lokal disk på 10GB inne i tjenesten. Under Persistence-fanen kan man velge å øke størrelsen på disken eller ikke noe disk i det hele tatt. Siden lokal disk i tjenesten hovedsakelig skal benyttes til å lagre en lokal kopi av koden som lagres på GitHub mens man gjør endringer, så bør ikke størrelsen på disken være større enn nødvendig.@fig-dapla-lab-resources viser valgene som kan gjøres under Resource-fanen.

Viser Persitence-fanen i Jupyter-konfigurasjonen i Dapla Lab.
Figur 4: Konfigurasjon av lokal disk for Jupyter-tjenesten i Dapla Lab

Git

Under fanen Git kan man konfigurere Git og GitHub slik at det blir lettere å jobbe med inne i tjenesten. Som default arves informasjonen som er lagret under Min konto-Git i Dapla Lab. Informasjonen under tjenestekonfigurasjonen blir tilgjengeliggjort som miljøvariabler i tjenesten. Informasjonen blir også lagt i $HOME/.netrc slik at man kan benytte ikke trenger å gjøre noe mer for å jobbe mot GitHub fra tjenesten.

Viser Persitence-fanen i Jupyter-konfigurasjonen i Dapla Lab.
Figur 5: Konfigurasjon av Git for Jupyter-tjenesten i Dapla Lab

Datatilgang

Hvis man har valgt å tilgjengeliggjøre data fra et team sitt bøtter i tjenesten, så kan man inspisere dataene fra en terminal inne i tjenesten:

  1. Åpne en instans av Jupyter med data fra bøtter
  2. Åpne en terminal inne i Jupyter
  3. Gå til mappen med bøttene ved å kjøre dette fra terminalen cd /buckets
  4. Kjør ls -ahl i teminalen for å se på hvilke bøtter som er montert.

Installere pakker

Siden det nesten ikke er installert noen pakker i tjenesten så kan brukeren opprette et ssb-project og installere pakker som vanlig.

For å bygge et eksisterende ssb-project så kan brukeren også bruke ssb-project.

For å installere R-pakker følger man beskrivelsen for renv.

Slette tjenesten

For å slette tjenesten kan man trykke på Slette-knappen i Dapla Lab under Mine tjenester. Når man sletter en tjeneste så sletter man hele disken inne i tjenesten og frigjør alle ressurser som er reservert. Vi anbefaler at man avslutter heller pauser tjenester som ikke benyttes.

Pause tjenesten

Man kan pause tjenesten ved å trykke på Pause-knappen i Dapla Lab under Mine tjenester. Når man pauser så slettes alt påden lokale disken som ikke er lagret under $HOME/work. Vi anbefaler at man avslutter heller pauser tjenester som ikke benyttes.

Monitorering

Man kan moniterere en instans av Jupyter ved å trykke på Jupyter-teksten under Mine tjenester i Dapla Lab, slik som vist i Figur 6.

Denne funksjonaliteten er under arbeid og mer informasjon kommer snart.

Viser Persitence-fanen i Jupyter-konfigurasjonen i Dapla Lab.
Figur 6: Monitorering av Jupyter-tjenesten i Dapla Lab