Hyppää sisältöön

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti are being decommissioned in stages, and their storage areas will become fully unavailable from 15 October 2026. Clean up unnecessary files and move any data you need to keep by 31 August 2026. See the Roihu data migration guide for instructions on transferring your data to Roihu.

Puhti computing services have been decommissioned and no new jobs are accepted or executed on its compute nodes. Puhti login nodes and storage services are planned to remain available until 15 October 2026.

Rahtin integroidun rekisterin käyttö

Paikallisten imagejen työntäminen Rahtin rekisteriin

Sisäisen rekisterin avulla voit tallentaa kontti-imageja Rahti-projektisi sisälle. Tästä on hyötyä, kun rakennat imageja paikallisesti ja haluat ottaa ne käyttöön klusterissa ilman ulkoista rekisteriä.

Prosessi on yksinkertainen:

  1. Varmista, että kirjaudut sisään komentorivikäyttöliittymän kautta

  2. Kirjaudu rekisteriin

    docker login -u unused -p $(oc whoami -t) image-registry.apps.2.rahti.csc.fi
    

    Info

    Jos saat virheilmoituksen, varmista että olet kirjautunut sisään. Jos suoritat komennon oc whoami, komennon pitäisi palauttaa käyttäjätunnuksesi.

  3. Merkitse paikallinen image niin, että se osoittaa projektisi ImageStream-sijaintiin. Imagejen on noudatettava tätä muotoa:

    docker tag <image-name>:<image-tag> image-registry.apps.2.rahti.csc.fi/<rahti-project-name>/<image-name>:<image-tag>
    

    Esimerkki:

    docker tag myapp:latest image-registry.apps.2.rahti.csc.fi/myproject/myapp:latest
    
  4. Työnnä image rekisteriin:

    docker push  image-registry.apps.2.rahti.csc.fi/<rahti-project-name>/<image-name>:<image-tag>
    
    Esimerkki:

    docker push myapp:latest image-registry.apps.2.rahti.csc.fi/myproject/myapp:latest
    
  5. Varmista ImageStream Rahtissa.

    oc describe is <image-name>
    

Sinun pitäisi nähdä ImageStream myös selainkonsolissa kohdassa Builds -> ImageStreams.

Vaihtoehtoisesti voit hakea imageja etärekisteristä komennolla docker image ls [OPTIONS] [REPOSITORY[:TAG]]

Vianmääritys

Jos saat tämän virheen yrittäessäsi työntää imageasi:

unknown: unexpected status from HEAD request to https://image-registry.apps.2.rahti.csc.fi/v2/<rahti-project-name>/<image-name>/manifests/sha256:834e7b036543663e8616810c2c3a199cd8a3618e981f75eea235e0920d601ce4: 500

Sinun on luotava ImageStream ennen työntämistä.

Suorita tämä komento:

oc create imagestream {YOUR_IMAGE_NAME}

oc on oltava asennettuna paikallisesti koneellesi.

Imagejen vetäminen Rahtin rekisteristä

  1. Varmista, että kirjaudut sisään komentorivikäyttöliittymän kautta

  2. Kirjaudu rekisteriin

    docker login -u unused -p $(oc whoami -t) image-registry.apps.2.rahti.csc.fi
    
  3. Vedä image

    docker pull image-registry.apps.2.rahti.csc.fi/<rahti-project-name>/<image-name>:<image-tag>
    
  4. Halutessasi voit merkitä paikallisen imagen uudelleen ennen sen käyttöä (jotta voit viitata siihen ilman rekisterin URL-osoitetta)

    docker tag image-registry.apps.2.rahti.csc.fi/<rahti-project-name>/<image-name>:<image-tag> <image-name>:<image-tag> 
    
  5. Varmista image

    docker images
    

Rahtin integroidun rekisterin käyttöoikeuksien hallinta

Rahtin sisäinen rekisteri valvoo käyttöoikeuksia projektin (namespace) oikeuksien perusteella. Jokainen rekisteriin tallennettu image kuuluu projektiin, ja käyttäjillä on oltava kyseisessä projektissa asianmukaiset oikeudet imagejen työntämiseen, vetämiseen tai hallintaan.

Rekisterin omistajuus ja imagejen näkyvyys

Sisäiseen rekisteriin tallennetut imaget on rajattu niitä omistavaan projektiin. Image, joka sijaitsee osoitteessa:

image-registry.apps.2.rahti.csc.fi/<rahti-project-name>/<image-name>:<image-tag>

on oletusarvoisesti käytettävissä vain:

  • käyttäjille, joilla on pääsy samaan Rahti-project-name-projektiin

  • palvelutileille projektissa Rahti-project-name

Muiden projektien käyttäjät eivät voi vetää tätä imagea tai työntää siihen, ellei erillistä käyttöoikeutta ole myönnetty.

Rahti tarjoaa tarkkarajaista hallintaa integroidun imagerekisterin käyttöoikeuksiin, jolloin käyttäjät voivat hallita oikeuksia käyttäjän tunnistautumisen perusteella.

Rahtin käyttäjänä voit valita, kuinka laajasti tallentamasi imaget ovat saatavilla eri tilanteissa.

Käyttötapaus 1: Julkisesti vedettävät imaget internetin kautta

Tämä menetelmä mahdollistaa kaikkien imagejen vetämisen Rahti-projektissa kenen tahansa internetissä olevan toimesta.

Aseta vain valitut imaget julkisiksi

Jos haluat tehdä vain yhden tai useamman tietyn imagen julkisesti saataville, katso Käyttötapaus 3

  • Näin otat käyttöön: Käytä jompaakumpaa seuraavista komennoista salliaksesi kenelle tahansa imagejen vetämisen Rahti-projektistasi:
oc policy add-role-to-user "system:image-puller" "system:anonymous" -n <project>
# OR
oc policy add-role-to-group "system:image-puller" "system:unauthenticated" -n <project>
  • Näin poistat käytöstä: Käytä jompaakumpaa seuraavista komennoista peruuttaaksesi yllä olevat muutokset:
oc policy remove-role-from-user "system:image-puller" "system:anonymous" -n <project>
# OR
oc policy remove-role-from-group "system:image-puller" "system:unauthenticated" -n <project>

Käyttötapaus 2: Vedettävät imaget kaikille Rahti-käyttäjille, ryhmille, palvelutileille ja projekteille

Tämä menetelmä mahdollistaa kaikkien projektin imagejen vetämisen kenelle tahansa tunnistautuneelle Rahti-käyttäjälle, mukaan lukien muut projektit ja palvelutilit Rahtissa.

  • Näin otat käyttöön: Käytä seuraavaa komentoa salliaksesi kenelle tahansa imagejen vetämisen Rahti-projektistasi:
oc policy add-role-to-group "system:image-puller" "system:authenticated" -n <project>
  • Näin poistat käytöstä: Käytä seuraavaa komentoa peruuttaaksesi yllä olevat muutokset:
oc policy remove-role-from-group "system:image-puller" "system:authenticated" -n <project>

Tämä menetelmä tarjoaa hienojakoisen hallinnan, jonka avulla voit asettaa vain valitut imagestreamit tunnistautumattomien internet-käyttäjien saataville. Se on turvallisempi vaihtoehto kuin käyttötapaus 1, koska se julkaisee vain sen, minkä nimenomaisesti valitset.

  • Näin otat käyttöön: Tätä varten sinun on luotava mukautettu rooli ja rolebinding Rahti-projektiisi.
# Select your project
oc project my-project

# Creating custom role
# oc create role <ROLE_NAME> --verb=get --resource=imagestreams.image.openshift.io/layers --resource-name=<IMAGE_NAME>
oc create role my-image-puller --verb=get --resource=imagestreams.image.openshift.io/layers --resource-name=MY_IMAGE_NAME # Repeat the option --resource-name to select more Imagestreams

# Create custom rolebinding
# oc create rolebinding <RB_NAME> --role=<ROLE_NAME> --user="system:anonymous"
oc create rolebinding my-image-puller --role=my-image-puller --user="system:anonymous" # Alternative to --user, you can use --group="system:unauthenticated"
  • Näin poistat käytöstä: Käytä seuraavia komentoja peruuttaaksesi yllä olevat muutokset:
# Delete the role and rolebinding

oc delete rolebinding my-image-puller
oc delete role my-image-puller

Käyttötapaus 4: Imagejen jakaminen Rahti-projektista toiseen Rahti-projektiin (namespacejen välinen vetäminen)

Tämä menetelmä mahdollistaa sen, että yksi Rahti-projekti voi vetää imageja toisesta projektista. Tästä on hyötyä, kun eri namespacejen täytyy jakaa perusimageja.

  • Näin otat käyttöön: Tätä varten sinun on sallittava, että tietty toisen namespacen serviceaccount voi vetää imagen.
oc policy add-role-to-group -n <project-that-has-the-image> "system:image-puller" "system:serviceaccounts:<project-that-pulls-the-image>"
  • Näin poistat käytöstä: Käytä seuraavaa komentoa peruuttaaksesi yllä olevat muutokset:
oc policy remove-role-from-group -n <project-that-has-the-image> "system:image-puller" "system:serviceaccounts:<project-that-pulls-the-image>"

Suomenkielinen tekoälykäännös

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

Klikkaa tästä antaaksesi palautetta