-
Rahdin integroitu rekisteri
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:
-
Varmista, että kirjaudut sisään komentorivikäyttöliittymän kautta
-
Kirjaudu rekisteriin
Info
Jos saat virheilmoituksen, varmista että olet kirjautunut sisään. Jos suoritat komennon
oc whoami, komennon pitäisi palauttaa käyttäjätunnuksesi. -
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:
-
Työnnä image rekisteriin:
Esimerkki: -
Varmista ImageStream Rahtissa.
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 on oltava asennettuna paikallisesti koneellesi.
Imagejen vetäminen Rahtin rekisteristä
-
Varmista, että kirjaudut sisään komentorivikäyttöliittymän kautta
-
Kirjaudu rekisteriin
-
Vedä image
-
Halutessasi voit merkitä paikallisen imagen uudelleen ennen sen käyttöä (jotta voit viitata siihen ilman rekisterin URL-osoitetta)
-
Varmista image
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:
- Näin poistat käytöstä: Käytä seuraavaa komentoa peruuttaaksesi yllä olevat muutokset:
Käyttötapaus 3: Tarkkarajainen hallinta tietyn imagen julkisessa jakamisessa (suositeltu)
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
serviceaccountvoi 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: