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.

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