Sintesi
Kubernetes v1.33 has a new feature that enables you to resize CPU and memory resources for containers online without having to recreate the pod the container is running in.
Questo articolo è apparso per la prima volta sul blog di Andrew Pruski. È stato ripubblicato con il credito e il consenso dell’autore.
Una delle nuove funzionalità di Kubernetes v1.33 è la possibilità di ridimensionare le risorse di CPU e memoria per i containers online, ovvero senza dover ricreare il pod in cui il container è in esecuzione. In passato, durante la regolazione delle risorse di un pod, Kubernetes eliminava il pod esistente e ne creava uno nuovo tramite un controller.
Anche se non è un problema per le applicazioni che possono avere più repliche in esecuzione, per SQL Server ciò causerebbe un’interruzione poiché (in genere) abbiamo un solo pod che esegue SQL Server in un statefulset. Vediamolo in azione.
Innanzitutto, implementeremo questo semplice statefulset su Kubernetes:
La parte importante è costituita dalle impostazioni della CPU e della memoria:
Nota: Forse hai notato che i limiti e le richieste qui hanno lo stesso valore. Questo serve per impostare una qualità del servizio “garantita” per il pod… è una best practice consigliata per SQL Server in Kubernetes. Maggiori informazioni sono disponibili in questo articolo.
Applichiamo questo manifesto:
In passato dovevamo modificare il nostro statefulset per aumentare questi valori:
In questo modo si ricrea il pod con i nuovi limiti/richieste:
Ma ora, con Kubernetes v1.33, possiamo scalare i pod senza un riavvio!
Get More from SQL Server
See how Pure Storage can help you boost SQL Server performance.






