Hyppää sisältöön

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for a tool for examining your disk usage.

Opas opettajille ja yhteistyökumppaneille

Ohjeet Noppe-ympäristön käyttämiseen opettajana tai yhteistyöhön.

Kuinka järjestää kurssi tai käyttää Noppea yhteistyöhön?

Noppe on rakennettu verkkokurssien järjestämiseen. Tuemme tällä hetkellä Jupyter- ja RStudio-pohjaista sisältöä, ja lisää vaihtoehtoja on tulossa tulevaisuudessa. Tarkoitettu työnkulku on, että luot yhden työtilan kurssia kohden ja järjestät harjoituksesi yhteen tai useampaan sovellukseen kyseisessä työtilassa. Kurssin sijaan voit käyttää Noppea myös yhteistyöhön. Työvuo on samanlainen kuin kurssiympäristön luomisessa, ja se kuvataan alla.

1. Ryhdy työtilan omistajaksi ja luo työtila

  • Kirjaudu Noppeen CSC-käyttäjätunnuksellasi valitsemalla CSC Login napsautettuasi Login. Jos sinulla ei vielä ole CSC-käyttäjätunnusta, katso ohjeet uuden käyttäjätilin luomiseen.
  • Avaa vasemmasta paneelista Manage workspaces ja luo uusi työtila.
    • Työtilan tyyppi:
    • Määräaikainen kurssi, jolla on rajallinen elinkaari: Voimassa rajatun määrän kuukausia.
    • Pitkäkestoinen kurssi, jolla on määräaikainen jäsenyys: Voidaan jatkaa 13 kuukautta kerrallaan. Tarkoitettu työtiloille, jotka tarjoavat jatkuvan oppimisympäristön.
  • Jos et näe Manage workspaces -vaihtoehtoa, toimi seuraavasti:
    • Tarkista, että kirjauduit sisään CSC-käyttäjätunnuksellasi. Käyttäjätilisi vasemman navigaation alareunassa pitäisi näyttää tältä: csc/youraccountname
    • Lataa selain uudelleen
    • Jos ongelma jatkuu, ota yhteyttä Noppen asiakastukeen osoitteessa servicedesk@csc.fi

2. Etsi tai luo mukautettuja imageja

3. Luo sovellus työtilaan

Avaa vasemmasta navigaatiosta Manage workspaces ja valitse työtila, jonka parissa haluat työskennellä. Luo uusi sovellus painikkeilla Application wizard tai Application form.

Sovelluspohja Pohja tarjoaa sovelluksesi perusominaisuudet. Useimmat pohjat perustuvat Noppe-tiimin ylläpitämiin kontti-imageihin. Katso imagelähteet noppe-public-images-repositoriossa. Jos aiot käyttää omaa mukautettua imageasi, voit valita minkä tahansa sovellustyyppiäsi vastaavan pohjan (Jupyter/RStudio).

Sovelluksen nimi Anna kelvollinen ja kuvaava nimi. Tämä on nimi, jolla osallistujat näkevät sovelluksen.

Sovelluksen kuvaus Täytä yksityiskohtainen kuvaus, joka auttaa käyttäjiä ymmärtämään paremmin sovellusta.

Kontti-image * Jos käytät olemassa olevaa imagea, kenttä esitäytetään valitun sovelluspohjan perusteella. * Jos käytät omaa mukautettua imagea, anna Docker-imagen URL-osoite.

Istunnon elinkaari Yhden istunnon enimmäiskesto. Istunnot poistetaan niiden vanhentuessa, jolloin vapautuu tilaa muille käyttäjille.

Istunnon muisti Kullekin istunnolle varattu RAM-muisti. Työtiloilla on raja samanaikaisten istuntojen kokonaismuistille. Tässä valittu suurempi arvo vaikuttaa samanaikaisten istuntojen enimmäismäärään.

Tunnisteet Valitse oletustunnisteet tai luo mukautettuja tunnisteita. Tunnisteet ovat hyödyllisiä sovellusten etsimisessä. Sovelluksen kuvake valitaan myös annettujen tunnisteiden perusteella.

Lataustapa Sijainti, josta kurssisisältö ladataan. Valitse git clone, jos haluat kloonata git-repositorion. Valitse Download from url, jos sisältösi on saatavilla Altaassa tai muussa HTTP:n kautta saavutettavassa sijainnissa, ja anna URL-osoite. Sisältö ladataan oletuksena minkä tahansa instanssin $HOME-kansioon.

Note

Ulkoisen sijainnin on oltava julkisesti saavutettavissa. Esimerkiksi git-repositorioiden tulee olla julkisia.

Vaihtoehtoisesti kurssimateriaali voidaan tarjota shared-kansion kautta. Työtilan omistaja voi valmistella jaetun kansion etukäteen. Kansio näkyy kaikille, mutta on vain luku -tilassa kurssin osallistujille. Katso lisätietoja datan pysyvyyttä koskevasta dokumentista.

Työkansio käyttäjää kohden Määrittää, onko käyttäjille tässä sovelluksessa saatavilla pysyvä käyttäjäkohtainen my-work-kansio. Tämä on oletuksena käytössä.

Julkaisu Valitse save as draft, jos sinun täytyy vielä testata tai muuttaa asioita sovelluksessasi. Vasta julkaisun jälkeen, joka voidaan tehdä tässä valitsemalla publish immediately tai myöhemmin sovellusvalikosta (Manage workspaces > your workspace > your Application > sovelluksen oikeassa reunassa olevat 3 palkkia > publish), ihmiset, joilla on liittymiskoodi, voivat löytää sovelluksen. Sovelluksesi ei koskaan näy kaikille. Vain Noppe-tiimi voi lisätä itseopiskeluun tarkoitettuja ja kaikille julkisia sovelluksia.

4. Kutsu käyttäjiä

Kun sisältö on valmis, voit kutsua kurssin osallistujia / yhteistyökumppaneita jakamalla työtilakohtaisen liittymiskoodin. Koodi löytyy näkymästä Manage workspaces, työtilalistasta tai kunkin työtilan Info-välilehdeltä.

5. Korota käyttäjiä

Kun rinnakkaisopettajat / rinnakkaisjärjestäjät / yhteistyökumppanit ovat kirjautuneet sisään, löydät heidän nimensä members-välilehdeltä (kohdassa manage workspaces). Jos haluat antaa heille oikeudet muuttaa asioita ja nähdä muiden osallistujien istunnot, valitse jäsenen nimen vieressä Menu-sarakkeesta promote to co-owner. Yhteisomistajat voivat tehdä kaiken saman kuin omistaja, paitsi alentaa omistajan oikeuksia tai poistaa työtilan. Yhteistyökäytössä kaikilla yhteistyökumppaneilla tulisi olla yhteisomistajan oikeudet, jotta he voivat kirjoittaa työtilan shared-kansioon.

Mukautettujen imagejen luominen

Jos et löydä sopivaa imagea aiottuun sovellukseesi, sinun täytyy luoda oma mukautettu image Noppea varten.

1. Luo mukautettu image Noppen avulla

Esiversio

Noppen mukautettujen imagejen luontityökalun esiversiossa on rajoitettu toiminnallisuus. Jos haluat käyttää kaikkia mukautusvaihtoehtoja, katso 2. Luo mukautettu image omalla tietokoneella.

Image voidaan luoda Nopessa.

Vaatimukset:

Vaiheet oman mukautetun imagen luomiseen Noppen avulla:

  • Avaa vasemmasta paneelista Manage workspaces ja luo uusi työtila tai muokkaa olemassa olevaa työtilaa.
  • Valitse sivun yläreunasta Custom Images -välilehti.
    • Napsauta Create custom image -painiketta.
  • Mukautettu image:
    • Nimi: Anna kuvaava nimi.
    • Pohjaimage: Valitse pohjaimage, jota haluat mukauttaa.
    • Paketit: Napsauta painikkeita + apt, + pip ja/tai + conda-forge lisätäksesi paketin pohjaimageen. Anna kunkin paketin nimi tai nimet.
    • Napsauta Build-painiketta aloittaaksesi mukautetun imagen luonnin.
  • Odota, että rakennusjärjestelmä ottaa työn käsittelyyn ja saa sen valmiiksi.

Kun rakennus on valmistunut onnistuneesti, mukautettu image on saatavilla työtilan Application formissa Container Image -osion Custom Images in this workspace -välilehdellä.

Kaikki Nopessa luodut mukautetut imaget ovat sidottuja siihen työtilaan, jossa ne luotiin.

2. Luo mukautettu image omalla tietokoneella

Image voidaan luoda omalla tietokoneellasi tai esimerkiksi cPouta -instanssissa.

Vaatimukset:

  • Tietokone Docker-imagen luomiseen; siinä tulee olla Docker asennettuna. Yleisesti Linux- tai Mac-tietokonetta suositellaan. Windowsissa tarvitaan todennäköisesti ylläpitäjän oikeudet, ja Dockerin käyttö voi olla haastavaa.
  • Paikka, johon Docker-image ladataan palveluun, esimerkiksi DockerHub tai Quay.io.

Vaiheet oman mukautetun Docker-imagen luomiseen:

Luo Dockerfile

Dockerfile sisältää joukon ohjeita docker-imagen rakentamiseen. Jos Dockerfile ei ole sinulle tuttu, katso esimerkiksi Docker 101 ja Dockerfile reference.

Jupyter notebook -esimerkki

JupyterLabia varten, jossa on joitakin conda-paketteja, käytä seuraavaa vähimmäisesimerkkiä:

# use jupyter minimal notebook as base for your image
# it has eg conda already installed
FROM jupyter/minimal-notebook

#some first setup steps need to be run as root user
USER root

# set home environment variable to point to user directory
ENV HOME /home/$NB_USER

# install needed extra tools, eg ssh-client and less
RUN apt-get update \
    && apt-get install -y ssh-client less \
    && apt-get clean

# the user set here will be the user that students will use 
USER $NB_USER

#### Installing the needed conda packages and jupyter lab extensions. 
# Run conda clean afterwards in same layer to keep image size lower
RUN conda install --yes -c conda-forge <your-packages-here> \
  && conda clean -afy

Muiden paketinhallintajärjestelmien osalta muokkaa viimeistä RUN-komentoa vastaavasti. Varmista, että paketinhallintajärjestelmä on saatavilla jupyter/minimal-notebook-pohjaimagessa tai asenna se itse (samalla tavalla kuin ssh-client ja less asennetaan yllä olevassa esimerkissä).

RStudio-esimerkki

Mukautettujen R-imagejen rakentamisessa sinun ei tarvitse aloittaa alusta. Monia valmiiksi rakennettuja R-imageja on jo saatavilla docker-rekistereissä. Erityisesti rocker-projekti sisältää suuren joukon eri kokoonpanoilla varustettuja imageja, jotka ovat saatavilla DockerHubissa. Voit siis aloittaa yhdestä näistä valmiista imageista.

Pakettien tai asetusten lisäämiseen voit käyttää Rockerin GitHub-sivulla tarjoamia skriptejä, muokata niitä tai kirjoittaa omasi alusta alkaen ja kopioida ne docker-tiedostojärjestelmään. Nämä skriptit sisältävät yleensä järjestelmäriippuvuudet ja tarpeisiisi vaaditut paketit.

RStudioa varten, jossa on joitakin paketteja, käytä seuraavaa Dockerfileä vähimmäisesimerkkinä:

# Use Rocker RStudio as base for your image
FROM rocker/rstudio

# copy the desired installation script into docker file system, make sure that you have execute rights to the script
COPY install_xx.sh /rocker_scripts/

# install the custom packages and system dependencies by running the script
RUN /rocker_scripts/install_xx.sh

Alla on muutamia hyödyllisiä komentoja R-pakettien asentamiseen komentoriviltä tai skriptistä. Niitä voidaan käyttää oman asennusskriptin kirjoittamiseen tai Rockerin tarjoamien skriptien muokkaamiseen:

# install a package with install2.r script
install2.r --error --deps TRUE packagename  
# Install R packages from CRAN
R -e "install.packages('packagename', repos='http://cran.rstudio.com/')" 
# Install R packages from Github using package managers like devtools and BiocManager. 
R --no-restore --no-save -e 'packagemanager::install_github("packagename",dependencies=TRUE)'
# Install R packages while specifying a specific version
R --no-restore --no-save -e 'packagemanager::install_version("packagename", version="version")'
# Script execution
R -e "source('/path/of/myscript.R')"  

Rakenna image ja testaa se

  • Rakenna image dockerfilestä nykyiseen hakemistoon .
docker build -t "<yourimagename>" -f <yourimagename>.dockerfile .

Huomaa, että Macilla tai millä tahansa ARM-isännällä sinun täytyy käskeä dockeria rakentamaan x64-imageja, jotta ne ovat yhteensopivia pilvi-isäntiemme kanssa. Tämä voidaan tehdä käyttämällä komentoa "docker buildx".

docker buildx build --platform linux/amd64 ....

Huomaa myös, että Macilla sinun voi olla tarpeen poistaa Rosetta käytöstä.

Toinen vaihtoehto on rakentaa image x64-virtuaalikoneessa, esimerkiksi osoitteessa pouta.csc.fi.

  • Testaa imageasi.
    • -p 8888:8787 tarkoittaa Docker-portin 8787 sitomista isännän porttiin 8888.
    • Jos käytät cPoutaa, sinun täytyy avata isännän portti myös Security groups -asetuksissa.
    • Avaa Jupyter/RStudio selaimella: localhost:8888 tai <cPouta-IP>:8888
docker run -p 8888:8787 <yourimagename>

Jotta docker-imagea voidaan käyttää sovelluksessasi, se täytyy isännöidä jossakin, esimerkiksi DockerHubissa tai Rahti-rekisterissä. Kun image on isännöity jossakin, anna linkki imageesi sovelluksessa: Manage Workspaces > Applications > Edit application > Container image.

Python-pakettien lisääminen olemassa olevaan työtilaan

Voit lisätä pip-paketteja olemassa oleviin Python-sovelluksiin rakentamatta uutta imagea asentamalla ne my-work- tai shared-kansioihin. Prosessi on hieman työläs, koska Docker-imaget on periaatteessa suunniteltu muuttumattomiksi, ja uuden imagen rakentaminen tarvittavine asennuksineen on suositeltavaa.

Seuraavat vaiheet koskevat asennusta my-work-kansioon. Huomaa, että my-work on käyttäjäkohtainen eikä sitä jaeta kurssin osallistujille. Jos kurssin osallistujien täytyy käyttää asennettuja paketteja, käytä shared-kansiota, johon vain työtilan omistajalla on kirjoitusoikeus.

  1. Avaa Terminal JupyterLabissa.
  2. Luo uusi kansio asennustiedostoille my-work-kansioon.
  3. Aseta PYTHONUSERBASE osoittamaan uuteen kansioon.
  4. Lisää uudet paketit pipillä.
mkdir -p /home/jovyan/my-work/<your_subdir>
export PYTHONUSERBASE=/home/jovyan/my-work/<your_subdir>
pip install --user the_new_package_name

Lopuksi poistu ja poista olemassa oleva istunto ja avaa sovelluksen asetukset kohdassa "Edit application". Lisää PYTHONUSERBASE=/home/jovyan/my-work/<your_subdir> ympäristömuuttujiin. Käytä aiemmin luomasi kansion nimeä. Tämän jälkeen uusissa sovellusistunnoissa asennetut paketit ovat käytettävissä.

R-pakettien lisääminen olemassa olevaan RStudio-sovellukseen

Voit lisätä R-paketteja olemassa oleviin RStudio-sovelluksiin rakentamatta uutta imagea asentamalla ne my-work- tai shared-kansioihin. Prosessi on hieman työläs, koska Docker-imaget on periaatteessa suunniteltu muuttumattomiksi, ja uuden imagen rakentaminen tarvittavine asennuksineen on suositeltavaa.

Prosessi on seuraava (yksityiskohtaiset ohjeet alla):

  1. Avaa terminaali RStudiossa
  2. Luo uusi kansio asennustiedostoille kansioon my-work tai shared
  3. Aseta ympäristömuuttuja R_LIBS_USER osoittamaan juuri luomaasi kansioon sovelluksen asetuksissa
  4. Asenna paketti juuri luotuun kansioon my-work tai shared

Asennusprosessi yksityiskohtaisesti

Seuraavat vaiheet koskevat asennusta my-work-kansioon. Huomaa, että my-work on käyttäjäkohtainen eikä sitä jaeta kurssin osallistujille. Jos kurssin osallistujien täytyy käyttää asennettuja paketteja, käytä shared-kansiota, johon vain työtilan omistajalla on kirjoitusoikeus.

Käynnistä istunto RStudio-sovelluksellesi, avaa terminaali ja luo uusi kansio asennuksia varten (tässä nimeltään R-packages, mutta voit käyttää eri nimeä):

mkdir /home/rstudio/my-work/R-packages

Poistu seuraavaksi istunnosta ja poista se. Avaa Edit application ja aseta seuraava arvo kohtaan "Environment variables":

R_LIBS_USER=/home/rstudio/my-work/R-packages

Jos käytit kansiollesi eri nimeä, muista muuttaa se.

Avaa uusi istunto sovellukselle. Ympäristömuuttujaan asetetun polun pitäisi näkyä komennon .libPaths() tulosteessa:

> .libPaths()
[1] "/usr/local/lib/R/site-library" "/usr/local/lib/R/library" "/home/rstudio/my-work/R-packages"

Nyt voit asentaa paketteja uuteen kansioon, esimerkiksi:

install.packages("jsonlite", lib="/home/rstudio/my-work/R-packages")
library(jsonlite)

Asennetut paketit ovat käytettävissä kaikissa uusissa istunnoissa.

Työtilan omistajien turvallisuusohjeet

  • Noppea ei ole auditoitu sensitiiviselle datalle.
  • Jaa liittymiskoodi vain käyttäjille, joiden haluat liittyvän työtilaasi.
  • Jos luot kurssillesi mukautettuja imageja, älä tallenna imageen mitään avaimia tai sensitiivistä dataa.
  • Poista työtila heti, kun kurssi on päättynyt.

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta