Dela nu
Den 6 februari var det dags för del två i vår serie om autoskalning i Snacka Kubernetes med Conoa! Efter att ha gått igenom horisontell skalning förra veckan skiftade vi nu fokus till VerticalPodAutoscaler (VPA).
Vi gästades återigen av Andreas Lindhé, Platform Engineer på Conoa, som förklarade hur du kan ”right-siza” dina workloads utan gissningslekar. Under avsnittet diskuterade vi skillnaderna mellan vertikal och horisontell skalning, och hur man drar nytta av de senaste funktionerna i Kubernetes för att få en mer effektiv miljö.
Som vanligt bjöd vi på en teknisk demo, konkreta tips och svar på de frågor som kom in live under sändningen. Titta på hela avsnittet för att lära dig hur du kan optimera dina resurser och slippa manuell handpåläggning kring requests och limits.
Vill du vara med live nästa gång? Gå med i meetup-gruppen Snacka Kubernetes med Conoa.
Att hitta en lämplig resurstilldelning för processer är minst sagt en utmaning, eftersom man sällan vet ”rätt svar” på förhand. För högt satta resurser kostar pengar, medan för lite resurser kan leda till försämrad prestanda eller felaktigt beteende. VerticalPodAutoscaler (VPA) är ett verktyg som automatiskt justerar resurser baserat på faktisk användning, vilket minskar mängden manuellt arbete och gissningar som krävs för att tilldela lagom mycket resurser.
Där HorizontalPodAutoscaler (HPA) skalar antalet pods baserat på belastning, justerar VPA resurserna inom befintliga pods – CPU och minne – så att varje container får rätt mängd resurser vid rätt tidpunkt.
VerticalPodAutoscaler består av tre centrala komponenter:
Tidigare krävde VPA alltid att en pod startades om för att ändra resurser. Men i de senaste versionerna av Kubernetes finns stöd för in-place resizing, vilket gör det möjligt att uppdatera vissa resursvärden utan driftavbrott – en stor förbättring för tillgängligheten.
Värt att notera är att VPA inte ingår i standard-API:et utan installeras som en Custom Resource Definition (CRD) och kräver att en Metrics Server är på plats för att fungera.
Det är inte nödvändigtvis ett val mellan de två, men det kräver en genomtänkt strategi. De fyller nämligen olika roller:
Viktigt: Kombinera med försiktighet
Att köra både HPA och VPA på samma applikation kräver att de inte ”tävlar” om samma resurser. Den gyllene regeln är att de aldrig bör använda samma mätvärde. Om båda skalar på exempelvis CPU-användning uppstår en konflikt där systemet blir instabilt.
En strategi är att låta VPA sköta rekommendationer för resursnivåer (CPU/Minne), medan HPA sköter den faktiska skalningen baserat på trafik (t.ex. antal förfrågningar). Genom att kombinera dem rätt kan du skapa en helt självanpassande miljö som är både högpresterande och kostnadseffektiv.
Många organisationer betalar för resurser de aldrig använder. Conoa har lång erfarenhet av att implementera autoskalningsstrategier som faktiskt levererar värde.
Kontakta Conoa här om du vill veta mer om hur vi kan hjälpa dig att optimera både prestanda och kostnad i din Kubernetes-miljö.