Managing Kubernetes Performance at Scale

Issue link: https://resources.turbonomic.com/i/1109059

Contents of this Issue


Page 13 of 25

real-world fluctuating demand. Ideally, you would want to be able to track every deployment and trend out average, peak consumption of resources against the defined limit and request values. This informa‐ tion is important to determine whether you have oversized contain‐ ers, or where you continuously reach limits that affect performance or scalability. Resizing containers has an impact on capacity. Resizing down affords more capacity to other workloads on a node, but it also allows for more pods to be deployed against a namespace quota while using the same cluster resources. Resizing up needs to account for underlying resources, whether the node and namespace has available capacity. Understanding how to best size containers is important, and requires you to manage the trade-offs of desired performance through one instance of a service, resources available, and fluctuat‐ ing demand across node and cluster capacity. Autoscaling Suppose that you have followed the aforementioned patterns to assure that workloads will not risk other services: set up namespaces with quotas—the requirement placed on any service to specify limits and requests—and you are testing to make sure the container speci‐ fications are not too constrained or overallocated. This will help you manage multitenancy, but it does not guarantee service performance when demand increases. What else can you do? The next direction to look at is how many instances, or replicas, you need to effectively run your service under what you define as a rea‐ sonable amount of demand. Like container sizing, gather data on how your services are performing running with a specific number of replicas. Are you getting the correct throughput? Response time? Manually adjust the replica number to see whether you can sustain a predictable and desired SLO. This might require some adjustment over time, or changing end-user demand, depending on the patterns for your service. What are the options? You now have some experience with how your services are perform‐ ing, but you realize that you still need to accommodate for bursting. You have an idea of a target range of replicas to run your service, but 8 | Managing Kubernetes Performance at Scale

Articles in this issue

view archives of Whitepapers - Managing Kubernetes Performance at Scale