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.

Komentorivityökalun käyttö

Rahtia voi käyttää komentoriviltä joko OpenShiftin oc-työkalulla tai Kubernetesin kubectl-työkalulla. Tietyt OpenShiftille ominaiset ominaisuudet ovat käytettävissä vain oc-työkalulla.

Rahti-selainkäyttöliittymän "Command Line Tools" -sivu

oc-työkalu on yksittäinen binaaritiedosto, joka tarvitsee vain lisätä path-muuttujaasi. Ohjeet oc-työkalun lataamiseen sekä latauslinkit useille alustoille ja käyttöjärjestelmille löytyvät selainkäyttöliittymän sivulta Command Line Tools:

Command line tools

klikkauksen jälkeen näkyviin tulee:

OpenShift Command Line Tools page

Lataa tarvittava paketti ja kopioi se path-muuttujaasi.

Jotta voit testata, että asennus onnistui oikein, avaa uusi pääte, siirry mihin tahansa kansioon ja suorita:

$ oc --help

Sen pitäisi näyttää kaikkien käytettävissä olevien komentojen luettelo.

Miten kirjautua sisään oc:lla?

Kirjautumiseen käytettävä oc login -komento löytyy nimesi vieressä olevasta pudotusvalikosta. Sen vieressä on painike, jolla komennon voi kopioida leikepöydälle. Kopioi komento ja liitä se päätteeseen, jotta voit alkaa käyttää OpenShiftiä komentoriviltä. Komento näyttää tältä:

oc login https://api.2.rahti.csc.fi:6443 --token=<secret access token>

Tämän komennon saa napsauttamalla käyttäjänimeäsi ja valitsemalla "Copy Login Command" selainkonsolissa:

copy login

sudo

Jos avaat useita päätteitä, oc:n kirjautumisistunto on aktiivinen niissä kaikissa.

Helm-kirjautuminen

Jos käytät Helmiä etkä ole kirjautunut sisään, saatat nähdä esimerkiksi seuraavan virheen:

$ helm ls       
Error: Kubernetes cluster unreachable: Get "http://localhost:8080/version": dial tcp 127.0.0.1:8080: connect: connection refused

Miten kirjautua sisään rekisteriin?

Jotta voit käyttää Rahtin sisäistä konttirekisteriä, siihen on kirjauduttava erikseen. Kun olet kirjautunut sisään, voit käyttää docker-asiakasohjelmaa pull- ja push-toimintoihin Rahtin rekisterissä.

Henkilökohtaisen käyttäjätilin käyttäminen

Kun olet kirjautunut sisään oc:lla, voit käyttää komentoa tokenin luomiseen (oc whoami -t):

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

sudon käyttö

Joissakin docker-asiakasohjelman kokoonpanoissa docker-asiakasohjelma täytyy suorittaa pääkäyttäjänä käyttäen sudoa. Tällöin myös oc login -komento täytyy suorittaa sudolla. Tämä johtuu siitä, että kirjautumistiedot tallennetaan käyttäjän kotihakemistoon, joten vain se käyttäjä, joka suorittaa oc login -komennon, on kirjautunut Rahtiin.

Yleisenä suosituksena on parempi käyttää muita "rootless"-ajoympäristöjä, kuten podmania, aina kun mahdollista. Dockerin voi myös määrittää toimimaan ilman pääkäyttäjäoikeuksia. Useimmissa Linux-jakeluissa tämä onnistuu kirjoittamalla seuraava komento:

Jos olet asentanut docker.io:n:

sudo usermod -aG docker $USER

Jos olet asentanut Docker Snapin (> Ubuntu 22):

sudo addgroup --system docker
sudo useradd $USER docker
newgrp docker
sudo snap disable docker
sudo snap enable docker

Kirjaudu sen jälkeen ulos ja takaisin sisään, jotta ryhmäjäsenyys arvioidaan uudelleen.

Palvelutilin tokenin käyttäminen

Rahti tarjoaa myös mahdollisuuden käyttää sisäistä palvelutiliä rekisterin kanssa toimimiseen. Tätä suositellaan automatisoituihin menettelyihin, kuten CI-putkeen. Vaikka oletuksena jokaiseen Rahti-nimiavaruuteen luodaan 3 sisäistä palvelutiliä — builder, default ja deployer — on suositeltavaa luoda erillinen sisäinen palvelutili ja antaa sille system:image-pusher-rooli.

oc create serviceaccount pusher
oc policy add-role-to-user system:image-pusher -z pusher
docker login -p $(oc create token pusher) -u unused image-registry.apps.2.rahti.csc.fi

Tämä palvelutilin token, jonka saat komennolla oc sa get-token pusher, ei vanhene.

OKD 4.11:stä alkaen oc sa get-token on vanhentunut (katso muutosloki). Käytä sen sijaan komentoa oc create token. Se luo palvelutilille uuden tokenin.

Voit esimerkiksi suorittaa komennon oc create token pusher --duration=87600h luodaksesi tokenin, joka on voimassa 10 vuotta.

CLI-pikaohje

Peruskäyttö:

oc <command> <--flags>
oc help <command>

Esimerkkejä:

Näytä projektit:

oc projects

Vaihda projektiin my-project:

oc project my-project

Näytä kaikki podit nykyisessä nimiavaruudessa:

oc get pods

Näytä kaikki podit nimiavaruudessa <my-other-name-space>:

oc get pods -n <my-other-namespace>

Näytä kaikki podit, joilla on avain-arvo-pari app: myapp kohdassa metadata.labels:

oc get pods --selector app=myapp

Tulosta podin mypod määritykset

oc get pod mypod -o yaml

Muita hyödyllisiä komentoja

  • oc create luo objektin. Esimerkki: oc create -f file.yaml
  • oc replace korvaa objektin. Esimerkki: oc replace -f file.yaml
  • oc delete poistaa objektin OpenShiftissä. Esimerkki: oc delete rc myreplicationcontroller
  • oc apply muokkaa objektia syötteen mukaisesti. Esimerkki: oc apply -f file.yaml
  • oc explain tulostaa API-dokumentaation. Esimerkki: oc explain deploy.spec
  • oc edit lataa objektin API:sta paikalliseen editoriin, joka on valittu $EDITOR- ympäristömuuttujalla. Esimerkki: oc edit Deployment mydeploy

Lyhenteet

Objektityypeillä on lyhenteitä, jotka komentorivikäyttöliittymä tunnistaa:

Abbreviation Meaning
is ImageStream
dc DeploymentConfig*
svc Service
bc BuildConfig
rc ReplicationController
pvc PersistentVolumeClaim

* Deployment Config on vanhentunut

Lisädokumentaatio

Katso lisätietoja komentorivikäyttöliittymän käytöstä virallisesta dokumentaatiosta:

Suomenkielinen tekoälykäännös

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

Klikkaa tästä antaaksesi palautetta