Yaml tiedostot

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

Yamlit ovat konfiguraatiotiedostoja, joissa kerrotaan tarkemmat ohjeet BuildConfigista, Buildista, Podista, Servicestä, Routesta jne. Niitä muokkaamalla pystyy muuttamaan konttien toimintaa. Jos teet muutoksia BuildConfigiin, kaikki sen perivät olioit käynnistävät itseensä littyvät kontit uudestaan jotta muutos näkyisi. Yamleista yleisesti

Yamlit sisältävät myös paljon automaattisesti generoituja rivejä, joten tällä sivulla niistä kerrotaan tärkeimpiä asioita. Osa tiedoista löytyy myös helpommin luettavassa muodossa kunkin olion omalla sivulla, osa vaatii scrollauksen.

  • Podin oma sivu esim: Dev → Topology → Haluttu deployment → 'Pods' listasta oikea podi

Yamlien löytäminen web konsolilla


Administrator näkymäPod: Workloads → Pods → Haluttu pod → Yaml

Build:  Builds → Builds → Haluttu build → Yaml

Service: Networking → Services → Haluttu Service → Yaml

Route: Networking → Routes → Haluttu Route → Yaml


Dev näkymä

Pod: Topology → Haluttu deployment → Valitse "Pods" listasta → Yaml

Build: Topology → Haluttu deployment → Valitse  "Builds" listasta → Yaml

tai Builds → Haluttu BuildConfig → Builds → Haluttu build → Yaml

Service: Topology → Haluttu deployment → Valitse  "Services" listasta → Yaml

Route: Topology → Haluttu deployment → Valitse "Routes" listasta → Yaml

Buildconfig


Seurattavan haaran muuttaminenNämä tiedot annettiin myös 3.3 Sovelluksen lisääminen OpenShiftin projektille ohjeessa.

metadata:
  annotations:
    app.openshift.io/vcs-ref: main #metadata haaraa (ei vaikuta)
    app.openshift.io/vcs-uri: 'https://version.helsinki.fi/projekti/Sovellus' #metadata url (ei vaikuta)
    openshift.io/generated-by: OpenShiftWebConsole

[.....]
spec:
  source:
    type: Git
    git:
      uri: 'https://version.helsinki.fi/projekti/Sovellus' #git url
      ref: main  #git haara/tag
    contextDir: /server #kertoo missä directoryssa kontin tiedostot ovat, määrittää myös root kansion kontille
    sourceSecret:
      name: gitlab-production-token #kertoo Administrator->Workloads->Secrets tiedoston nimen jossa salausavain sijaitsee, tarvitaan jos repo on salainen

Ympäristömuuttujat

Jos ympäristömuuttujat eivät ole salaisia, ne voidaan muuttaa/kirjata myös suoraan BuildConfig.yaml tiedostoon. Salaisille ympäristömuuttujille katso ohje

spec:
  strategy:
    type: Docker
    dockerStrategy:
      env:
        - name: PORT #esimerkki portin asettamisesta
          value: '3001'
        - name: MUUTTUJAN NIMI #ei tarvitse hipsuja
          value: MUUTTUJAN ARVO #ei tarvitse hipsuja
      dockerfilePath: Dockerfile #reitti contextDir kohdasta (ylempi laatikko) DockerFileen,
                                 #pelkkä Dockerfile jos DockerFile on contextDir juuressa

Triggerit

Kertoo mikä aiheuttaa uuden buildin ja sitä seuraavan uuden podin muodostuksen.

triggers:
    - type: Generic
      generic:
        secretReference:
          name: api-generic-webhook-secret #secrettinä tässä tapauksessa automaattisesti luotu webhook
    - type: ConfigChange

Logien määrät

Kts ohje: Openshift logit

SERVICE

Omia portinohjauksia ei tarvitse toteuttaa, Openshift välittää liikenteen podista toiseen kunhan portit on kirjattu oikein. Yleensä tämä myös vaatii sitä että port ja targetPort ovat sama numero.

spec:
  ports:
    - name: 3001-tcp #Servicen omalla sivulla nähtävä 'Service port mapping nimi'
      protocol: TCP #Protokolla, ei kannata koskea
      port: 3001 #Portti jota Service kuuntelee
      targetPort: 3001 #Portti jonne Service ohjaa liikenteen


route

Routeen tehtävistä muutuksista on kerrottu wikissä sivulla 3.7 Miten julkaisen sovellukseni internetiin?


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)