Skaalaus
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.
Autoscalerin voi määritellä suoraan YAML tiedostollakin, alla esimerkki siitä:
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:
- Lisää autoscalingistä: at https://access.redhat.com/documentation/en-us/openshift_container_platform/4.2/html-single/nodes/index#nodes-pods-autoscaling
- Skaalaus custom metriikoilla: https://access.redhat.com/documentation/en-us/openshift_container_platform/4.2/html-single/monitoring/index#exposing-custom-application-metrics-for-autoscaling
- Hieman lisätietoa scalingistä käyttöliittymällä: https://access.redhat.com/documentation/en-us/openshift_container_platform/4.2/html-single/applications/index#odc-scaling-application-pods-and-checking-builds-and-routes_viewing-application-composition-using-topology-view
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)