Containerized MID Server Autoscaling
Summarize
Summary of Containerized MID Server Autoscaling
Containerized MID Servers can be deployed using StatefulSet in Kubernetes, allowing for automatic scaling based on workload demands. The Kubernetes Horizontal Pod Autoscaler (HPA) manages the scaling process, adjusting the number of MID Server replicas according to CPU and memory usage.
Show less
Key Features
- StatefulSet Deployment: MID Servers can be deployed with specific parameters such as name, headless service name, persistent volume claims (PVC), and resource limits.
- Persistent Storage: The PVC ensures that the MID Server's data, including configuration files, is consistently stored and accessible across pod recreations.
- Autoscaling: HPA can be activated on StatefulSet workloads, enabling dynamic scaling of MID Server pods based on resource metrics.
- YAML Deployment: Deployment requests can be exported as YAML files to manage StatefulSet workloads effectively.
Key Outcomes
ServiceNow customers can expect seamless autoscaling of MID Servers, ensuring optimal resource utilization during varying workloads. With persistent storage and automated configuration restoration, MID Servers can quickly adapt to changes and maintain operational continuity.
MID Servers can be deployed via StatefulSet with any number of replicas. They can scale automatically by leveraging Kubernetes Horizontal Pod Autoscaler (HPA). Horizontal Pod Autoscaler automatically updates a workload resource (such as a Deployment or StatefulSet) to match demand.
- Name
- Headless service name
- Persistent volume claim (PVC)
- Parameters, such as storage class, access modes, and storage request
- The resource request/limit
The PVC declares the desired persistent volume where the MID Server stores config.xml, meta data files, and several of its sub-folders.
During workload fluctuations, a pod with a running MID Server container can be removed and replaced by a new one. StatefulSet ensures the same persistent volume is attached to the new pod, which allows the MID Server to resume its state.
The only sub-folders that can be mounted to the persistent volume are those that are initially empty with a new MID Server installation. The config.xml file and other meta data files must be backed up when the pod is shut down and restored during start-up.
Deployment requests exported as YAML files can be used to create a StatefulSet workload and new MID Server pods in the Kubernetes cluster.
When you make changes to the deployment YAML file and re-apply it, the existing pods of the deployment are recreated. With StatefulSet deployment, the configuration files are restored from the backup folder. The init script must detect the deployment environment changes and apply them to the configuration files before MID server is started.
HPA Autoscaling activation
HPA Autoscaling can be activated for any existing StatefulSet workload by creating an HPA controller.
When you create a deployment request, you can choose either HPA version 1 or version 2.
When creating a deployment request on the instance with an HPA configuration, apply the exported YAML file and HPA autoscaling begins working immediately.