Kubernetes Performance Tuning and Hardening Guide

Table of Content

I. Control Plane Hardening and Tuning

  1. Preparing control plane hosts
  2. Tuning kube-api server
    1. api operation latency
  3. Tuning kube-scheduler
  4. Tuning controller manager
  5. Etcd tuning (Impact of etcd deployment on Kubernetes, application performance, A Few Notes on Etcd Maintenance)

II. Data Plane Hardening and Tuning

  1. Preparing data plane hosts (Worker node tuning)
  2. Tuning at POD level (pod start-up time)

III. K8S tuning for CPU-bound workloads

  1. How to troubleshoot Kubernetes CPU Throttle
  2. CPU limits and aggressive throttling in Kubernetes.
  3. Predictive CPU isolation of containers at Netflix
  4. CPU limits to namespaces

IV. K8S tuning for Memory intensive workloads

  1. How to troubleshoot Kubernetes OOM
  2. Addressing issues related with memory leak in k8s
  3. memory limits to namespaces

V. K8S tuning for network intensive workloads

  1. Debugging network stalls on Kubernetes
  2. Fix a random network Connection Reset issue in Docker/Kubernetes
  3. Network tuning (MTU), Routing optimization and Tail latency

VI. K8S tuning for Storage intensive workloads

  1. Kubernetes Storage Performance Comparison
  2. Optimizing storage in Kubernetes cluster

VII. Garbage collection and eviction policy in k8s

  1. How to avoid some pod eviction and image deletion
  2. How Kubelet Eviction Policies Impact Cluster Rebalancing
  3. Pod Disruption Budgets

VIII. Metric server optimization

  1. Measuring performance

IX. Benchmarking and profiling in K8S

  1. K-Bench: A Benchmark to Measure Kubernetes Control and Data Plane Performance
  3. Kubectl Flame: Effortless Profiling on Kubernetes

X. Performance tuning of minikube k8s cluster

XI. Using Nginx-Ingress as a Static Cache for Assets Inside Kubernetes