3.3 Sovelluksen lisääminen OpenShiftin projektille

Last modified by Xwiki VePa on 2024/02/07 07:37

Suunnittele etukäteen miten organisoit sovelluksesi projekteissa. Esim tilaa jokaiselle sovellukselle oma projekti. Yhdessä projektissa voi ajaa useampaa konttia

Sovelluksen voi asentaa Openshiftiin Dockerfilen avulla tai Quay.io:ta


Lisääminen Dockerfilesta:OpenShift käyttöliittymästä: Developer → +Add (tai oikean ylänurkan + merkistä jos YAML tiedosto on olemassa, tällöin ei tarvitse tehdä muuta) → From Dockerfile

Alla oleva taulukko olettaa että kaikki alavalikot on avattu, tiiviimpi ohje: BuildConfigin luominen

Rivi

Sisältö

Git Repo Url

Git type

Reposi mukainen valinta (HUOM! version.helsinki.fi kohdalla 'Other')

Git reference

haara, tag, tai tietty commit (voidaan muuttaa myöhemmin muokkaamalla BuildConfigin yamlia)

Context dir

Kansio joka toimii sovelluksen juurena ja yleensä jossa Dockerfile sijaitsee, esim /client

Source Secret

  • Jos versionhallintarepo on salainen:
    • Luo ssh-avain deploymentia varten
       ÄLÄ KÄYTÄ OMIA AVAIMIASI TÄSSÄ–AVAIMEN YKSITYINEN OSA SYÖTETÄÄN KLUSTERIIN PROJEKTIN SALAISUUDEKSI! TEE UUSI AVAIN TÄTÄ JA VAIN TÄTÄ ASIAA VARTEN
      $ ssh-keygen -t rsa -b 4098 -q -N '' -C projekti-deploy -f projekti-deploy
      $ ls projekti-deploy*
      projekti-deploy projekti-deploy.pub
    • Sijoita julkinen avain lukuoikeuksin versionhallintaan deploy keyksi:
      • GitLab: repon sivun sivupalkki → "Settings" →  "Repository" → "Deploy keys" → "Expand" → anna jokin kuvaava nimi, kopioi ja liitä julkisen avaimen sisältö tekstikenttään ja valitse "Add key" 

  • Web-konsoli → Developer perspective → "+Add" → (varmista että olet oikeassa projektissa) → "From Dockerfile" → täytä lomake→ "Create" 
    • "Show advanced git options" -täpän alta löytyy mahdollisuus syöttää SSH-avain salaisuutena ("Source Secret" → "Select Secret Name" → "Create New Secret" → "Auth type" → "SSH Key"). Käytä tätä, jos sovelluksesi versionhallintarepo on salainen.

Dockerfile path

Dockerfilen sijainti Context dir suhteen, jos Dockerfile juuressa niin pelkkä Dockerfilen nimi riittää

Application 

Jos haluat niputtaa sovelluksen osat tms. yhteen, valitse listasta tai luo uusi

Resource

Tarpeen mukaan Deployment tai DeploymentConfig, lisätietoa

Create a route to the Application

Jos tarvitset url osoitteen josta nähdä sovelluksen tila, joko vain helsinki.fi tai ulkoverkkoon kannattaa jättää täppä

Hostname

Jos tarvitset tietyn osoitteen, pyydä CNAME ohjaukset ja sertifikaatit täällä olevien ohjeiden mukaisesti, voidaan myös jättää tyhjäksi ilman haittoja toiminnallisuuteen.

Path

Target Port

Portti jota kautta sovellus liikennöi, OpenShift osaa ohjata liikenteen konttien välillä jos portit ovat oikein. Pienin sallittu portin numero on 1024.

Secure Route

Jos sinulla ei ole omaa hostnamea ja haluat klusterinlaajuiset sertifikaatit käyttöösi (selain ei valita että ei-luotettu sivu), voit laittaa täpän ja valita

  • TLS termination: Edge
  • Insecure traffic: Redirect,

tai muokata myöhemmin Routen yamlia tämän ohjeen mukaan.

Health Checks

Build configuration

  • Configure a webhook trigger: Luo webhookin
  • Automatically build a new Image when the Builder Image changes: rakentaa kontin uudestaan joka kerta kun tulee tieto muutoksesta Builder Imageen 
  • Launch the first build when the build configuration is created: Ensimmäinen build käynnistyy automaattisesti eikä vaadi erillistä käynnistystä
  • Environment variables (build and runtime): Sovelluksesi mahdollisesti tarvitsemat ympäristömuuttujat
    • Voidaan lisätä yksitellen tai ConfigMap tai Secret tiedostona

Deployment

  • Auto deploy when new Image is available: esim uusi commit tai pohja-imageen tullut päivitys
  • Environment variables(runtime only): Jos osa ympäristömuuttujista tarvittiin vain sovelluksen ajamista varten, voidaan ne määritellä tässä
    • Voidaan lisätä yksitellen tai ConfigMap tai Secret tiedostona

Kuinka monta kopiota sovelluksesta halutaan kerralla (HUOM! Lisää prosessorikäyttöä)

Resource Limit

Sovelluksen minimi- ja maksimi resurssikäytöt (HUOM! Näillä ei voi ylittää tilauslomakkeessa määriteltyjä määriä)

Labels

Kaikkiin tämän sovelluksen lisäyksen yhteydessä luotaviin resursseihin lisättävä tagi jolla voi hakea/rajata luotuja tiedostoja ja prosesseja.


On erittäin suositeltavaa ottaa versionhallintaan muodostuneet yaml tiedostot, takaavat nopean deploymentin jos tapahtuu jotain odottamatonta.

Paikallinen kehittäminen

Jos haluat ajaa omalla koneellasi/paikallisesti OpenShiftiä, se on mahdollista näiden ohjeiden mukaan.


Yhteystietoja

Suositeltu yhteydenottotapa kysymyksiin on:

https://helsinkifi.slack.com #kontit 

Resurssien lisäys/muutospyynnöt kannattaa lähettää sähköpostilla.

grp-openshift-owner@helsinki.fi (alustan ylläpito ja kehitys)

tike-ohjelmistotuotanto@helsinki.fi (sovelluskehitys)