Skaalaus

Last modified by aulembin@helsinki_fi on 2024/02/07 06:34

OpenShiftissä sovellusten skaalaamiseen on useampia resursseja. Näistä selkeimmät ovat vertikaalinen (ei enää tuettu) ja horisontaalinen skaalaus.

Horisontaalinen skaalaus

Horisontaaliseen skaalautuvuuteen on kaksi toteutustapaa. Nämä molemmat lisäävät podien lukumäärää ja täten pyyntöjä käsittelevien konttien määrää.

  • Pod countin muuttaminen
  • Automaattinen skaalaus

Pod countin muuttaminen on yksinkertaisempi näistä. Siinä valitaan määrä joka kopioita podista on olemassa AINA. Tämä ei kuitenkaan ole hyvä tapa toteuttaa skaalautuvuutta.

Horizontal autoscaling on puolestaan tapa sanoa minimimäärä podeja ja haluttu resurssikäyttö, jotta OpenShift voi itse käynnistää/sammuttaa podeja tarpeen mukaan. Tämä mahdollistaa skaalautuvuuden tarpeen mukaan. OpenShift osaa huomioida piikit resurssikäytössä sanoen että ei valmiiden (UNREADY) podien resurssikäyttö on ylös skaalatessa 0% ja alas skaalatessa 100%.


Alla esimerkki jossa määritellään image-registry nimiselle deploymentille autoscaler olio minimissään 5 podilla, maksimissaan 7 podilla ja CPU käyttöä verrataan 75% prosenttiin. CPU käytöllä viitataan kaikkien podien CPU käyttöön, ei vain yksittäisen.

oc autoscale deployment/image-registry --min=5 --max=7 --cpu-percent=75

Autoscalerin voi määritellä suoraan YAML tiedostollakin, alla esimerkki siitä:

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  name: image-registry #deploymentin nimi
  namespace: default
spec:
  maxReplicas: 7 #maksimi podit
  minReplicas: 3 minimi podit
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: image-registry
  targetCPUUtilizationPercentage: 75 #CPU käytön raja skaalaamiselle
status:
  currentReplicas: 5 #montako käynnissä nyt
  desiredReplicas: 0 #montako haluttaisiin käyntiin nyt

HorizontalPodAutoscalerin lisääminen web-käyttöliittymällä

Dev-näkymä → Topology → Deployment → Oikeassa ylänurkassa Actions → Add HorizontalPodAutoScaler (HPA): täytä resurssikäytöt ja halutut podit ja lisää HPA sovellukseesi.


jos haluat tarkemmin määritellä ylös ja alas skaalausta, voit tehdä sen tällä ohjeella: https://docs.openshift.com/container-platform/4.12/nodes/pods/nodes-pods-autoscaling.html

Lisäluettavaa:


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)