Fogalom – Alkalmazás üzembe helyezése
Mielőtt üzembe helyeznénk az alkalmazást a Kubernetesben, tekintsük át a Kubernetes-üzemelő példányokat, és ismertessük a forgatókönyv korlátait.
Mik azok a Kubernetes-üzemelő példányok?
A Kubernetes-üzembe helyezés a podok evolúciója. Az üzembe helyezések egy intelligens objektumba csomagolják a podokat, amely lehetővé teszi számukra a horizontális felskálázást. Az alkalmazás egyszerűen duplikálható és skálázható, így összetett hálózati szabályok konfigurálása nélkül is támogathatja a nagyobb terhelést.
Az üzembe helyezések lehetővé teszik az alkalmazások állásidő nélküli frissítését csak a képcímke módosításával. Az üzembe helyezés frissítése egyenként kikapcsolja az online alkalmazásokat, és lecseréli őket a legújabb verzióra az összes alkalmazás törlése és újak létrehozása helyett, ami azt jelenti, hogy az üzembe helyezés képes frissíteni a benne lévő podokat úgy, hogy az ne legyen látható hatással a rendelkezésre állásra.
Bár az üzemelő példányok podokon keresztül történő használata számos előnnyel jár, nem tudják megfelelően kezelni a forgatókönyvet.
Ez a forgatókönyv egy eseményvezérelt alkalmazást foglal magában, amely számos eseményt fogad különböző időpontokban. KEDA Scaler-objektum vagy HPA nélkül manuálisan kell módosítania a replikák számát az események számának feldolgozásához, és le kell skáláznia az üzembe helyezést, amikor a terhelés visszatér a normál értékre.
Üzembehelyezési jegyzékminta
Íme egy mintarészlet az üzembehelyezési jegyzékből:
apiVersion: apps/v1
kind: Deployment
metadata:
name: contoso-microservice
spec:
replicas: 10 # Tells K8S the number of pods needed to process the Redis list items
selector: # Define the wrapping strategy
matchLabels: # Match all pods with the defined labels
app: contoso-microservice # Labels follow the `name: value` template
template: # Template of the pod inside the deployment
metadata:
labels:
app: contoso-microservice
spec:
containers:
- image: mcr.microsoft.com/mslearn/samples/redis-client:latest
name: contoso-microservice
A mintajegyzékben replicas
10 értékre van állítva, amely a legmagasabb szám, amelyet az események maximális számának feldolgozásához szükséges replikákhoz állíthatunk be. Ez azonban azt eredményezi, hogy az alkalmazás túl sok erőforrást használ fel a nem nyilvános időszakokban, ami a fürt többi üzembe helyezését is éheztetheti.
Az egyik megoldás egy különálló HPA használata a podok processzorhasználatának monitorozására, ami jobb megoldás, mint a manuális skálázás mindkét irányban. A HPA azonban nem a Redis-listához kapott események számára összpontosít.
A legjobb megoldás a KEDA és a Redis-skálázó használata a lista lekérdezéséhez és annak megállapításához, hogy több vagy kevesebb podra van-e szükség az események feldolgozásához.