Hyppää sisältöön

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

Warning!

Puhti and Mahti will be decommissioned after Roihu becomes available. Users should clean up unnecessary files and move any required data by the end of August 2026. See the Roihu data preparation instructions for details.

Puhti scratch is very full: keep only active data there and move or delete everything else. No new Puhti scratch quota will be granted.

Edistynyt taso

Sinulla tulee olla Dockerin ja Pythonin tuntemusta.
Rahdin osalta suosimme OpenShiftin komentorivikäyttöliittymätyökalun oc käyttöä

Seuraa Pukki DBaaS -instanssien kokoja Rahdin CronJobilla sovellustunnisteiden avulla

Tässä ohjeessa näytetään, miten suoritetaan Rahdin CronJob, joka käyttää Pukin sovellustunnisteita OpenStack DBaaS -instanssien kyselyyn ja lähettää sähköpostihälytyksen, jos minkä tahansa tietokanta-instanssin taltio ylittää määritetyn raja-arvon (oletus: 90 %).

Sovellustunnisteet ovat suositeltu tapa tunnistaa automatisoidut työkalut ja skriptit ilman, että henkilökohtainen käyttäjätunnuksesi ja salasanasi paljastuvat.

Yleiskuvaus

Esimerkin työvuo:

  1. Luo sovellustunniste Pukissa
  2. Tallenna tunnisteet Secret-resurssina Rahtiin
  3. Rakenna konttikuvasta valvontaskripti sisältävä image
  4. Lataa image Rahdin sisäiseen rekisteriin
  5. Ota CronJob käyttöön
  6. Suorita säännöllisiä tarkistuksia ja lähetä sähköpostihälytyksiä

Skripti käyttää:

openstack database instance list -f json
openstack database instance show <instance_name> -f json

Esimerkkitiedostot löytyvät CSC:n GitHubista

1. Luo sovellustunnisteet Pukissa

  1. Kirjaudu Pukkiin

  2. Valitse projektisi

  3. Siirry kohtaan Identity → Application Credentials

  4. Napsauta Create Application Credential

  5. Käytä roolia: reader

  6. Luo tunniste ja lataa tiedosto

Note

Sovellustunnisteet on liitetty ne luoneeseen käyttäjätiliin. Jos käyttäjä poistuu projektista tai hänen käyttöoikeutensa perutaan, tunnisteet muuttuvat virheellisiksi

Lue lisää sovellustunnisteista täältä

2. Kloonaa esimerkkirepositorio

Kloonaa esimerkkirepositorio:

git clone https://github.com/CSCfi/pukki-dbaas-monitor.git

3. Määritä tunnisteet Rahdissa

Muokkaa tiedostoa db-monitor-openstack-secret.yaml

Korvaa kaikki paikkamerkkiarvot:

OS_AUTH_URL: "<replace me>"
OS_REGION_NAME: "<replace me>"
OS_APPLICATION_CREDENTIAL_ID: "<replace me>"
OS_APPLICATION_CREDENTIAL_SECRET: "<replace me>"

Ota sitten Secret käyttöön:

oc apply -f db-monitor-openstack-secret.yaml

4. Rakenna ja lataa konttikuva

Kirjaudu Rahdin rekisteriin:

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

Rakenna image (käyttää tiedostoja requirements.txt, monitor_dbaas.py ):

sudo docker build -t image-registry.apps.2.rahti.csc.fi/<replace me>/db-monitor:latest .

Lataa image rekisteriin:

sudo docker push image-registry.apps.2.rahti.csc.fi/<replace me>/db-monitor:latest

Lisätietoja Rahdin rekisteristä saat lukemalla täältä

5. Määritä CronJob

Avaa db-monitor-cronjob.yaml ja päivitä

imagen polku:

image-registry.apps.2.rahti.csc.fi/<replace me>/db-monitor:latest
sähköpostiasetukset:
MAIL_FROM: "<replace me>"
MAIL_TO: "<replace me>"
valinnainen raja-arvo:
THRESHOLD_PERCENT: "90"
Ota määritys käyttöön:

oc apply -f db-monitor-cronjob.yaml

6. Suorita manuaalinen testi

Ennen kuin odotat ajastettua suoritusta, testaa manuaalisesti:

oc create job --from=cronjob/openstack-db-monitor db-monitor-test
oc logs -f job/db-monitor-test

Sinun pitäisi nähdä jotakin tämän kaltaista:

Starting OpenStack DBaaS volume usage check
Found 3 instance(s): db-a, db-b, db-c
db-a: 12.50%
db-b: 93.00%
Alert email sent for 1 instance(s)

Yhteenveto

Tässä ohjeessa käytit Pukin sovellustunnisteita turvalliseen tunnistautumiseen Rahdissa toimivassa automaation työnvuossa, joka valvoo DBaaS-instanssien tallennustilaa.

Sovellustunnisteet tarjoavat turvallisen ja käytännöllisen tavan antaa skripteille ja palveluille pääsy OpenStack API -rajapintoihin ilman, että henkilökohtaisia käyttäjätunnuksia paljastetaan. Tallentamalla ne Rahdin Secret-resursseihin ja käyttämällä niitä CronJobissa voit rakentaa automatisoituja työnkulkuja, jotka ovat sekä turvallisia että ylläpidettäviä.

Sovellustunnisteita käytettäessä on tärkeää muistaa, että ne on sidottu käyttäjään, joka ne loi. Pitkäkestoisia tai jaettuja palveluita varten kannattaa suunnitella, miten tunnisteita hallitaan, kierrätetään ja omistetaan projektissa, jotta vältetään odottamattomat häiriöt.

Suomenkielinen tekoälykäännös

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

Klikkaa tästä antaaksesi palautetta