Tips for running scalable workloads on Kubernetes

  • You must set resource requests & limits so the Kubernetes scheduler can ensure workloads are spread across nodes evenly.
  • The scheduler can use configured affinities & anti-affinities as another hint of which node is best to assign your pod to.
  • In Kubernetes, readinessProbe tells that a pod is ready to start receiving requests and livenessProbe tells that a pod is running as expected. Setting these ensure that requests to service always go to a container that can process the request.
  • It is common for nodes in Kubernetes to disappear and you should configure a pod disruption budget to ensure you always have a minimum number of ready pods for deployment.

Full post here, 13 mins read