Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Maximizing Launch Reliability: Controlled Lift-...

Maximizing Launch Reliability: Controlled Lift-off for Reliable Application Startup on Kubernetes

This is a deck for my talk at KubeCon + CloudNativeCon Japna 2026 Yokohama

Description
Launch reliability is critical for applications on Kubernetes that restart frequently. Cold starts from cache initialization and JIT compilation can degrade performance and trigger startup failures, causing serious downtime during rollouts and reducing the effectiveness of horizontal pod autoscaling.

The recent Kubernetes feature In-place Pod Resize enables CPU bursting to improve launch reliability through infrastructure-level scaling. However, it does not address application-layer unreadiness and may introduce risks such as noisy neighbor issues or unexpected runtime behavior.

In this session, he will explore recent trends and practices for improving launch reliability and examine real-world In-place Pod Resize. Furthermore, he will propose a strategy using a purpose-built open source controller designed to mitigate these risks and ensure comprehensive readiness. You will leave this session with actionable insights to achieve reliable, production-grade launches on Kubernetes.

Avatar for hhiroshell

hhiroshell

July 30, 2026

More Decks by hhiroshell

Other Decks in Technology

Transcript

  1. #KubeCon #CloudNativeCon Maximizing Launch Reliability: Controlled Lift-off for Reliable Application

    Startup on Kubernetes Hiroshi Hayakawa Technical Lead, Platform Skygate Technologies Inc.
  2. Who am I • Technical Lead, Platform at @skygate_tech •

    Contributing to CNCF Platform Engineering Community Group • Author of books on Kubernetes Hiroshi Hayakawa | @hhiroshell • DIY keyboard enthusiast KubeCon + CloudNativeCon North America 2025 2
  3. My Company | Skygate Technologies Inc. Our Mission Overcome challenges

    to sustainability Core Businesses Space & Defence Delivering defense products and specialized services to the space and defense industries Enterprise Security Developing and providing "Cygiene" and other professional security solutions 3
  4. 📝 Agenda 1. Introduction 2. Super Safe Startup Approaches in

    Harsh Environments: ‒ Kube Startup CPU Boost ‒ kube-booster 3. Conclusion KubeCon + CloudNativeCon North America 2025 5
  5. 📝 Agenda 1. 👉 Introduction 2. Super Safe Startup Approaches

    in Harsh Environments: ‒ Kube Startup CPU Boost ‒ kube-booster 3. Conclusion KubeCon + CloudNativeCon North America 2025 6
  6. 🚀 Overview of Application Launch in Kubernetes Pre-start process 1.

    Scheduling • A new pod is registered with the kube-apiserver • The scheduler decides which node to place the pod Containers start up 3. Lift off • The application process starts and performs a series of initialization procedures 4. In orbit • The application enters stable operation 2. Preparation • The kubelet on the Node makes environments for containers in the pod KubeCon + CloudNativeCon North America 2025 7
  7. 🚀 Overview of Application Launch in Kubernetes Pre-start process Containers

    start up ⚠ Launch failure Due to initialization issues or external factors, the application cannot reach orbit and crashes. 1. Scheduling • A new pod is registered with the kube-apiserver • The scheduler decides which node to place the pod 3. Lift off • The application process starts and performs a series of initialization procedures 2. Preparation • The kubelet on the Node makes environments for containers in the pod KubeCon + CloudNativeCon North America 2025 8
  8. Why Launch Reliability Matters? • May lead to severe outages

    pods v1 time Deployment Controller KubeCon + CloudNativeCon North America 2025 9
  9. Why Launch Reliability Matters? • May lead to severe outages

    pods v1 pods v2 time Deployment Controller KubeCon + CloudNativeCon North America 2025 10
  10. Why Launch Reliability Matters? • May lead to severe outages

    pods v1 pods v2 Pods over than replicas running. Let’s stop old ones.. time Deployment Controller KubeCon + CloudNativeCon North America 2025 11
  11. Why Launch Reliability Matters? • May lead to severe outages

    �� �� pods v1 pods v2 time Deployment Controller KubeCon + CloudNativeCon North America 2025 12
  12. Why Launch Reliability Matters? • May lead to severe outages

    �� �� pods v1 pods v2 �� New pods are running correctly. Then stop the last old one time Deployment Controller KubeCon + CloudNativeCon North America 2025 13
  13. Why Launch Reliability Matters? • May lead to severe outages

    �� �� pods v1 pods v2 �� �� �� time Deployment Controller KubeCon + CloudNativeCon North America 2025 14
  14. Why Launch Reliability Matters? • May lead to severe outages

    �� �� pods v1 pods v2 �� �� �� �� �� �� time Deployment Controller KubeCon + CloudNativeCon North America 2025 15
  15. Why Launch Reliability Matters? • May lead to severe outages

    �� �� pods v1 pods v2 �� �� �� �� �� �� �� �� 💧 time Deployment Controller KubeCon + CloudNativeCon North America 2025 16
  16. Basic Practices: The Static Approach 1. Tuning application runtimes (e.g.,

    Java VM max/initial heap sizes) 2. Warming up caches and resource pools KubeCon + CloudNativeCon North America 2025 17
  17. Basic Practices: The Static Approach 1. Tuning application runtimes (e.g.,

    Java VM max/initial heap sizes) 2. Warming up caches and resource pools But still, under heavy production traffic, you'll often see a performance dip right after startup... KubeCon + CloudNativeCon North America 2025 18
  18. Increase container CPU and memory limits 🍄💪 • Higher CPU

    and memory limits can offset the initial performance penalty right after startup for many applications. Uses more resources to drive a resource consumption 🍄💪 “cold” application resource limits time KubeCon + CloudNativeCon North America 2025 19
  19. There is a Limit to Raising Resource Limits • Noisy

    neighbor issues ‒ Unstable and unpredictable pod performance ‒ Risk of collateral OOMKilled across multiple containers (when memory limits are raised) • Impact on Application Runtime and Framework Behavior ‒ Increased CPU context switching caused by excessive thread creation ‒ GC (Garbage Collection) behavior based on the assumed resources of the configured Limits ‒ High volume of connections to backend systems like databases KubeCon + CloudNativeCon North America 2025 20
  20. Two Add-on based Approaches to Go Further • Startup CPU

    Boost ‒ Temporarily scales up CPU limits / requests exclusively during container startup ‒ Automatically adjusts resources without restarting containers by leveraging In-Place Pod Resizing ‒ Developed under the official google organization on GitHub (Open-source project) • kube-booster ‒ Sends warm-up requests from a dedicated controller during startup ‒ Integrates with Readiness Gates to ensure the Pod only becomes Ready (accepts traffic) after the warm-up process is complete ‒ Developed by the presenter 󰢧 KubeCon + CloudNativeCon North America 2025 21
  21. 📝 Agenda 1. Introduction 2. 👉 Super Safe Startup Approaches

    in Harsh Environments: ‒ Kube Startup CPU Boost ‒ kube-booster 3. Conclusion KubeCon + CloudNativeCon North America 2025 22
  22. Two Add-on based Approaches to Go Further • 👉 Startup

    CPU Boost ‒ Temporarily scales up CPU limits / requests exclusively during container startup ‒ Automatically adjusts resources without restarting containers by leveraging In-Place Pod Resizing ‒ Developed under the official google organization on GitHub (Open-source project) • kube-booster ‒ Sends warm-up requests from a dedicated controller during startup ‒ Integrates with Readiness Gates to ensure the Pod only becomes Ready (accepts traffic) after the warm-up process is complete ‒ Developed by the presenter KubeCon + CloudNativeCon North America 2025 23
  23. Startup CPU Boost: Core Concept • Leverage In-Place Pod Resizing

    to boost CPU limits / requests during startup resource consumption containers with 🍄💪 Start increased CPU resources Revert the CPU resources to the desired value CPU limits time KubeCon + CloudNativeCon North America 2025 24
  24. Startup CPU Boost: A Setting Example Define target pods using

    LabelSelector Define when to revert CPU limits to their original values apiVersion: autoscaling.x-k8s.io/v1alpha1 kind: StartupCPUBoost metadata: name: boost-001 namespace: demo selector: matchExpressions: - key: app.kubernetes.io/name operator: In values: ["spring-demo-app"] spec: resourcePolicy: containerPolicies: - containerName: spring-demo-app percentageIncrease: value: 50 durationPolicy: podCondition: type: Ready status: "True" Define the amount of CPU limit increase KubeCon + CloudNativeCon North America 2025 25
  25. Startup CPU Boost: How it works? Node (2) Edit CPU

    limits / requests kube-apiserver kube-startup-cpu-boost kubelet (1) Apply application manifests Node ��💻 kubelet KubeCon + CloudNativeCon North America 2025 26
  26. Startup CPU Boost: How it works? Node �� (2) Edit

    CPU limits / requests kube-apiserver kube-startup-cpu-boost Application Pod �� Application Pod kubelet (1) Apply application manifests ��💻 �� Application Pod (3) start containers with increased CPU resources �� Node Application Pod kubelet �� Application Pod KubeCon + CloudNativeCon North America 2025 27
  27. Startup CPU Boost: How it works? Node �� (2) Edit

    CPU limits / requests kube-startup-cpu-boost kube-apiserver �� (4) Edit CPU resources w/ In-Place pod resize Application Pod kubelet (1) Apply application manifests ��💻 Application Pod �� Application Pod �� Node Application Pod kubelet �� Application Pod KubeCon + CloudNativeCon North America 2025 28
  28. Startup CPU Boost: How it works? Node (2) Edit CPU

    limits / requests kube-startup-cpu-boost kube-apiserver (4) Edit CPU resources w/ In-Place pod resize Application Pod kubelet (1) Apply application manifests ��💻 Application Pod Application Pod (5) Enforce resource limits with original values Node Application Pod kubelet Application Pod KubeCon + CloudNativeCon North America 2025 29
  29. Startup CPU Boost: Features ✨ • Flexible Duration Controls ‒

    Define boost windows based on time duration or container READY status. • Versatile Sizing Options ‒ Scale resources using either fixed values or percentage-based targets. • Granular Container Targeting ‒ Fine-tune specific containers within a Pod using regex matching. KubeCon + CloudNativeCon North America 2025 30
  30. Startup CPU Boost: Limitations & Considerations 🤔 • Not all

    nodes have spare resources to accommodate the temporary boost. • Concentrated CPU spikes during startup can easily trigger noisy neighbor issues. • Dynamic cgroup changes can cause unpredictable behavior in some app runtimes or frameworks. KubeCon + CloudNativeCon North America 2025 31
  31. Two Add-on based Approaches to Go Further • Startup CPU

    Boost ‒ Temporarily scales up CPU limits / requests exclusively during container startup ‒ Automatically adjusts resources without restarting containers by leveraging In-Place Pod Resizing ‒ Developed under the official google organization on GitHub (Open-source project) • 👉 kube-booster ‒ Sends warm-up requests from a dedicated controller during startup ‒ Integrates with Readiness Gates to ensure the Pod only becomes Ready (accepts traffic) after the warm-up process is complete ‒ Developed by the presenter 󰢧 KubeCon + CloudNativeCon North America 2025 32
  32. kube-booster: Core Concept • Leverage synthetic traffic injection to warm

    up applications before routing live traffic latency Send synthetic warmup �� traffic to containers Mark pod as READY and accept �� live traffic time KubeCon + CloudNativeCon North America 2025 33
  33. kube-booster: A Setting Example Can write warmup settings in pod’s

    annotations apiVersion: core/v1 kind: Pod metadata: name: java-app-with-warmup labels: app: java-app-with-warmup annotations: kube-booster.io/warmup: "enabled" kube-booster.io/warmup-port: "8080" kube-booster.io/warmup-endpoint: "/warmup" kube-booster.io/warmup-requests: "10000" kube-booster.io/warmup-timeout: "120s" spec: containers: - name: my-java-app image: my-java-app:v1 ports: - name: http containerPort: 8080 KubeCon + CloudNativeCon North America 2025 34
  34. kube-booster: How It Works? Node (2) Inject readiness gates kube-apiserver

    kube-booster webhook (Deployment) kube-booster controller (DaemonSet) (1) Apply application manifests kubelet Node ��💻 kube-booster controller (DaemonSet) kubelet KubeCon + CloudNativeCon North America 2025 35
  35. kube-booster: How It Works? Node (2) Inject readiness gates kube-apiserver

    (1) Apply application manifests kube-booster webhook (Deployment) Application Pod kube-booster controller (DaemonSet) Application Pod kubelet Application Pod Node ��💻 kube-booster controller (DaemonSet) Application Pod kubelet Application Pod KubeCon + CloudNativeCon North America 2025 36
  36. kube-booster: How It Works? Node (2) Inject readiness gates kube-apiserver

    (3) Read pods’ annotations and readiness gates (1) Apply application manifests kube-booster webhook (Deployment) Application Pod kube-booster controller (DaemonSet) Application Pod kubelet Application Pod Node ��💻 kube-booster controller (DaemonSet) Application Pod kubelet Application Pod KubeCon + CloudNativeCon North America 2025 37
  37. kube-booster: How It Works? Node (2) Inject readiness gates kube-apiserver

    (3) Read pods’ annotations and readiness gates (1) Apply application manifests kube-booster webhook (Deployment) kube-booster controller (DaemonSet) (4) warmup!! �� �� �� �� Application Pod �� Application Pod �� Application Pod kubelet Node ��💻 kube-booster controller (DaemonSet) kubelet �� �� �� Application Pod �� Application Pod KubeCon + CloudNativeCon North America 2025 38
  38. kube-booster: How It Works? ✔Node-local communication only ✔Rate limiting /

    Concurrency limiting Node (2) Inject readiness gates kube-apiserver (3) Read pods’ annotations and readiness gates (1) Apply application manifests kube-booster webhook (Deployment) kube-booster controller (DaemonSet) (4) warmup!! �� �� �� �� Application Pod �� Application Pod �� Application Pod kubelet Node ��💻 kube-booster controller (DaemonSet) kubelet �� �� �� Application Pod �� Application Pod KubeCon + CloudNativeCon North America 2025 39
  39. kube-booster: How It Works? Node (2) Inject readiness gates kube-apiserver

    (3) Read pods’ annotations and readiness gates (1) Apply application manifests kube-booster webhook (Deployment) kube-booster controller (DaemonSet) kubelet (5) Mark the readiness gates as the warmup finished ��💻 (4) warmup!! �� Application Pod �� Application Pod �� Application Pod Node kube-booster controller (DaemonSet) kubelet �� Application Pod �� Application Pod KubeCon + CloudNativeCon North America 2025 40
  40. kube-booster: How It Works? (2) Inject readiness gates kube-apiserver (3)

    Read pods’ annotations and readiness gates (1) Apply application manifests kube-booster webhook (Deployment) kube-booster controller (DaemonSet) kubelet (5) Mark the readiness gates as the warmup finished ��💻 (4) warmup!! (6) Become READY Node �� Application Pod �� Application Pod �� Application Pod Node kube-booster controller (DaemonSet) kubelet �� Application Pod �� Application Pod KubeCon + CloudNativeCon North America 2025 41
  41. kube-booster: Features ✨ • 🛠 Developer Experience ‒ Flexible Warmup

    Modes: • Single-Endpoint: Quick setup via annotations(HTTP/gRPC). • Scenario-Based: Advanced traffic simulation via Custom Resources [Experimental]. ‒ Rich Event Notifications: • Instant visibility into warmup progress and performance details. • ☸ Platform & Operations ‒ Smart Resource Guardrails: • Parallel pod warmup controls and rate-limiting to prevent resource exhaustion. ‒ Comprehensive Observability: • Various metrics to ensure seamless rollouts and stable cluster operations. KubeCon + CloudNativeCon North America 2025 42
  42. kube-booster: Limitations & Considerations 🤔 • Requires per-app tuning. •

    A more complex startup sequence might lead to readiness failures. • Total startup time will be longer as we wait for the warmup to finish. • Warmup requests might put extra load on external components. KubeCon + CloudNativeCon North America 2025 43
  43. Benchmark Results • Environment ‒ Cluster: GKE Standard (v1.36.0) on

    e2-standard-8 nodes ‒ Application: Java 21 / Spring Boot 3, Executes vector similarity searches ‒ Resources: CPU limits = 3, Memory = 1Gi (Steady-state) • Load Scenario ‒ Tool: k6 constant-arrival-rate at 50 RPS ‒ Event: Cold-start triggered by a rolling update during mid-load • Comparison Settings ‒ kube-booster: 300 requests warmup to a single endpoint ‒ kube-startup-cpu-boost: 3 vCPU → 5 vCPU, FIXED_DURATION = 120s KubeCon + CloudNativeCon North America 2025 44
  44. Benchmark Results ⚠ AI can make mistakes, and humans can

    too. • Environment ‒ Cluster: GKE Standard (v1.36.0) on e2-standard-8 nodes ‒ Application: Java 21 / Spring Boot 3, Executes vector similarity searches ‒ Resources: CPU limits = 3, Memory = 1Gi (Steady-state) • Load Scenario ‒ Tool: k6 constant-arrival-rate at 50 RPS ‒ Event: Cold-start triggered by a rolling update during mid-load • Comparison Settings ‒ kube-booster: 300 requests warmup to a single endpoint ‒ kube-startup-cpu-boost: 3 vCPU → 5 vCPU, FIXED_DURATION = 120s KubeCon + CloudNativeCon North America 2025 45
  45. Benchmark Results • kube-booster provides the best tail and throughput,

    though it adds a ~26s delay to READY. • CPU boost maintains fast startup but shows limited improvement metric plain startup-cpu-boost kube-booster p50 11 ms 10 ms 10 ms p90 14,155 ms 9,626 ms 3,630 ms p99 27,310 ms 26,282 ms 13,691 ms max 50,597 ms 44,929 ms 24,859 ms requests > 500 ms 32.3% 34.9% 14.3% error rate 0.53% 0.47% 0.21% Pod READY delay 8.8 s 8.4 s 34.4 s KubeCon + CloudNativeCon North America 2025 47
  46. Which Should We Use? • Choose kube-booster when: ‒ Peak

    performance and stable tail latency are required the moment a Pod joins the Service. ‒ Application-layer warming is essential, such as JIT (C2) compilation or cache loading. ‒ Save node resources by avoiding temporary CPU spikes beyond existing limits. • Choose Startup CPU Boost when: ‒ Simplicity is a priority ‒ Minimize Time-to-READY to enable rapid horizontal scaling (HPA). ‒ Accelerate CPU-bound startup tasks like parsing large configs or loading libraries. • KubeCon + CloudNativeCon North America 2025 48
  47. 📝 Agenda 1. Introduction 2. Super Safe Startup Approaches in

    Harsh Environments: ‒ Kube Startup CPU Boost ‒ kube-booster 3. Conclusion 👈 KubeCon + CloudNativeCon North America 2025 49
  48. Conclusion • Reliability is vital: Prevent service outages caused by

    cold-starts and scaling events • Coordinated Control: Add-on controllers provide better startup stability than manual tuning. • Performance is a trade-off: ‒ Choose kube-booster for tail latency stability and node resource efficiency ‒ Choose Startup CPU Boost for faster scaling speed and operational simplicity KubeCon + CloudNativeCon North America 2025 50
  49. References • Kube Startup CPU Boost ‒ https://github.com/google/kube-startup-cpu-boost • Kube

    Booster ‒ https://github.com/hhiroshell/kube-booster • Benchmark Results ‒ https://github.com/hhiroshell/kube-booster-benchmark ‒ KubeCon + CloudNativeCon North America 2025 51