-
Opas opettajille
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 LoginnapsautettuasiLogin. Jos sinulla ei vielä ole CSC-käyttäjätunnusta, katso ohjeet uuden käyttäjätilin luomiseen. - Avaa vasemmasta paneelista
Manage workspacesja 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
- Tarkista, että kirjauduit sisään CSC-käyttäjätunnuksellasi. Käyttäjätilisi vasemman navigaation alareunassa
pitäisi näyttää tältä:
2. Etsi tai luo mukautettuja imageja
- Helpoin tapa on käyttää olemassa olevaa Docker-imagea. Katso sopivia imageja näistä repositorioista:
- Docker-imagejen lähteet noppe-public-images-repositoriossa.
- Rocker-imaget erilaisiin RStudio-kokoonpanoihin.
- Jos tarvitset vain muutaman ylimääräisen R/Python-paketin verrattuna olemassa oleviin imageihin, ne on todennäköisesti helpointa lisätä ajon aikana käyttäjän toimesta.
- Jos haluat luoda oman mukautetun imagen, katso alla Mukautettujen imagejen luominen.
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:
- Pääsy työtilojen hallintaan.
Vaiheet oman mukautetun imagen luomiseen Noppen avulla:
- Avaa vasemmasta paneelista
Manage workspacesja luo uusi työtila tai muokkaa olemassa olevaa työtilaa. - Valitse sivun yläreunasta
Custom Images-välilehti.- Napsauta
Create custom image-painiketta.
- Napsauta
- Mukautettu image:
- Nimi: Anna kuvaava nimi.
- Pohjaimage: Valitse pohjaimage, jota haluat mukauttaa.
- Paketit: Napsauta painikkeita
+ apt,+ pipja/tai+ conda-forgelisä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
.
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".
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:8787tarkoittaa 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:8888tai<cPouta-IP>:8888
Lataa image palveluun ja liitä se sovellukseesi
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.
- Avaa Terminal JupyterLabissa.
- Luo uusi kansio asennustiedostoille my-work-kansioon.
- Aseta
PYTHONUSERBASEosoittamaan uuteen kansioon. - 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):
- Avaa terminaali RStudiossa
- Luo uusi kansio asennustiedostoille kansioon
my-worktaishared - Aseta ympäristömuuttuja
R_LIBS_USERosoittamaan juuri luomaasi kansioon sovelluksen asetuksissa - Asenna paketti juuri luotuun kansioon
my-worktaishared
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ä):
Poistu seuraavaksi istunnosta ja poista se. Avaa Edit application ja aseta seuraava arvo kohtaan "Environment variables":
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:
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.