Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions vertical-pod-autoscaler/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@

## Contents

- [Contents](#contents)
<!-- toc -->
- [Intro](#intro)
- [Getting started](#getting-started)
- [Getting Started](#getting-started)
- [Components and Architecture](#components-and-architecture)
- [Features and Known limitations](#features-and-known-limitations)
- [Related links](#related-links)
<!-- /toc -->

## Intro

Expand Down
23 changes: 12 additions & 11 deletions vertical-pod-autoscaler/docs/components.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,18 @@

## Contents

- [Components](#components)
- [Introduction](#introduction)
- [Recommender](#recommender)
- [Running](#running-the-recommender)
- [Implementation](#implementation-of-the-recommender)
- [Updater](#updater)
- [Current implementation](#current-implementation)
- [Missing Parts](#missing-parts)
- [Admission Controller](#admission-controller)
- [Running](#running-the-admission-controller)
- [Implementation](#implementation-of-the-admission-controller)
<!-- toc -->
- [Introduction](#introduction)
- [Recommender](#recommender)
- [Running the recommender](#running-the-recommender)
- [Implementation of the recommender](#implementation-of-the-recommender)
- [Updater](#updater)
- [Current implementation](#current-implementation)
- [Missing parts](#missing-parts)
- [Admission-controller](#admission-controller)
- [Running the admission-controller](#running-the-admission-controller)
- [Implementation of the Admission Controller](#implementation-of-the-admission-controller)
<!-- /toc -->

## Introduction

Expand Down
22 changes: 12 additions & 10 deletions vertical-pod-autoscaler/docs/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,18 @@

## Contents

- [Examples](#examples)
- [Keeping limit proportional to request](#keeping-limit-proportional-to-request)
- [Capping to Limit Range](#capping-to-limit-range)
- [Resource Policy Overriding Limit Range](#resource-policy-overriding-limit-range)
- [Starting multiple recommenders](#starting-multiple-recommenders)
- [Using CPU management with static policy](#using-cpu-management-with-static-policy)
- [Controlling eviction behavior based on scaling direction and resource](#controlling-eviction-behavior-based-on-scaling-direction-and-resource)
- [Limiting which namespaces are used](#limiting-which-namespaces-are-used)
- [Setting the webhook failurePolicy](#setting-the-webhook-failurepolicy)
- [Specifying global maximum allowed resources to prevent pods from being unschedulable](#specifying-global-maximum-allowed-resources-to-prevent-pods-from-being-unschedulable)
<!-- toc -->
- [Keeping limit proportional to request](#keeping-limit-proportional-to-request)
- [Capping to Limit Range](#capping-to-limit-range)
- [Resource Policy Overriding Limit Range](#resource-policy-overriding-limit-range)
- [Starting multiple recommenders](#starting-multiple-recommenders)
- [Custom memory bump-up after OOMKill](#custom-memory-bump-up-after-oomkill)
- [Using CPU management with static policy](#using-cpu-management-with-static-policy)
- [Controlling eviction behavior based on scaling direction and resource](#controlling-eviction-behavior-based-on-scaling-direction-and-resource)
- [Limiting which namespaces are used](#limiting-which-namespaces-are-used)
- [Setting the webhook failurePolicy](#setting-the-webhook-failurepolicy)
- [Specifying global maximum allowed resources to prevent pods from being unschedulable](#specifying-global-maximum-allowed-resources-to-prevent-pods-from-being-unschedulable)
<!-- /toc -->

## Keeping limit proportional to request

Expand Down
10 changes: 6 additions & 4 deletions vertical-pod-autoscaler/docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,19 @@

## Contents

- [VPA restarts my pods but does not modify CPU or memory settings. Why?](#vpa-restarts-my-pods-but-does-not-modify-cpu-or-memory-settings)
<!-- toc -->
- [VPA restarts my pods but does not modify CPU or memory settings](#vpa-restarts-my-pods-but-does-not-modify-cpu-or-memory-settings)
- [How can I apply VPA to my Custom Resource?](#how-can-i-apply-vpa-to-my-custom-resource)
- [How can I use Prometheus as a history provider for the VPA recommender?](#how-can-i-use-prometheus-as-a-history-provider-for-the-vpa-recommender)
- [I get recommendations for my single pod replicaSet, but they are not applied. Why?](#i-get-recommendations-for-my-single-pod-replicaset-but-they-are-not-applied)
- [How can I use Prometheus as a history provider for the VPA recommender](#how-can-i-use-prometheus-as-a-history-provider-for-the-vpa-recommender)
- [I get recommendations for my single pod replicaset but they are not applied](#i-get-recommendations-for-my-single-pod-replicaset-but-they-are-not-applied)
- [Can I run the VPA in an HA configuration?](#can-i-run-the-vpa-in-an-ha-configuration)
- [What are the parameters to VPA recommender?](#what-are-the-parameters-to-vpa-recommender)
- [What are the parameters to VPA updater?](#what-are-the-parameters-to-vpa-updater)
- [What are the parameters to VPA admission-controller?](#what-are-the-parameters-to-vpa-admission-controller)
- [What are the parameters to VPA admission controller?](#what-are-the-parameters-to-vpa-admission-controller)
- [How can I configure VPA to manage only specific resources?](#how-can-i-configure-vpa-to-manage-only-specific-resources)
- [How can I have Pods in the kube-system namespace under VPA control in AKS?](#how-can-i-have-pods-in-the-kube-system-namespace-under-vpa-control-in-aks)
- [How can I configure VPA when running in EKS with Cilium?](#how-can-i-configure-vpa-when-running-in-eks-with-cilium)
<!-- /toc -->

### VPA restarts my pods but does not modify CPU or memory settings

Expand Down
11 changes: 10 additions & 1 deletion vertical-pod-autoscaler/docs/features.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,20 @@

## Contents

<!-- toc -->
- [Limits control](#limits-control)
- [Memory Value Humanization](#memory-value-humanization)
- [CPU Recommendation Rounding](#cpu-recommendation-rounding)
- [Memory Recommendation Rounding](#memory-recommendation-rounding)
- [In-Place Updates](#in-place-updates-inplaceorrecreate)
- [In-Place Updates (<code>InPlaceOrRecreate</code>)](#in-place-updates-inplaceorrecreate)
- [Usage](#usage)
- [Behavior](#behavior)
- [Requirements:](#requirements)
- [Configuration](#configuration)
- [Limitations](#limitations)
- [Fallback Behavior](#fallback-behavior)
- [Monitoring](#monitoring)
<!-- /toc -->

## Limits control

Expand Down
6 changes: 6 additions & 0 deletions vertical-pod-autoscaler/docs/flags.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ To view the most recent _release_ of flags for all VPA components, consult the r

> **Note:** This document is auto-generated from the default branch (master) of the VPA repository.

<!-- toc -->
- [What are the parameters to VPA admission-controller?](#what-are-the-parameters-to-vpa-admission-controller)
- [What are the parameters to VPA recommender?](#what-are-the-parameters-to-vpa-recommender)
- [What are the parameters to VPA updater?](#what-are-the-parameters-to-vpa-updater)
<!-- /toc -->

# What are the parameters to VPA admission-controller?
This document is auto-generated from the flag definitions in the VPA admission-controller code.

Expand Down
17 changes: 10 additions & 7 deletions vertical-pod-autoscaler/docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,16 @@

## Contents

- [Installation](#installation)
- [Compatibility](#compatibility)
- [Notice on deprecation of v1beta2 version (>=0.13.0)](#notice-on-deprecation-of-v1beta2-version-0130)
- [Notice on removal of v1beta1 version (>=0.5.0)](#notice-on-removal-of-v1beta1-version-050)
- [Prerequisites](#prerequisites)
- [Install command](#install-command)
- [Tear down](#tear-down)
<!-- toc -->
- [Compatibility](#compatibility)
- [Notice on CRD update (&gt;=1.0.0)](#notice-on-crd-update-100)
- [Notice on deprecation of v1beta2 version (&gt;=0.13.0)](#notice-on-deprecation-of-v1beta2-version-0130)
- [Notice on removal of v1beta1 version (&gt;=0.5.0)](#notice-on-removal-of-v1beta1-version-050)
- [Prerequisites](#prerequisites)
- [Install command](#install-command)
- [Feature gates](#feature-gates)
- [Tear down](#tear-down)
<!-- /toc -->

The current default version is Vertical Pod Autoscaler 1.3.1

Expand Down
3 changes: 3 additions & 0 deletions vertical-pod-autoscaler/docs/known-limitations.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Known limitations

<!-- toc -->
<!-- /toc -->

- Whenever VPA updates the pod resources, the pod is recreated, which causes all
running containers to be recreated. The pod may be recreated on a different
node.
Expand Down
9 changes: 5 additions & 4 deletions vertical-pod-autoscaler/docs/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

## Contents

- [Quick start](#quick-start)
- [Test your installation](#test-your-installation)
- [Example VPA configuration](#example-vpa-configuration)
- [Troubleshooting](#troubleshooting)
<!-- toc -->
- [Test your installation](#test-your-installation)
- [Example VPA configuration](#example-vpa-configuration)
- [Troubleshooting](#troubleshooting)
<!-- /toc -->

After [installation](./installation.md) the system is ready to recommend and set
resource requests for your pods.
Expand Down
15 changes: 15 additions & 0 deletions vertical-pod-autoscaler/docs/sidecar-containers.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# VPA Sidecar Container Management

<!-- toc -->
- [Understanding VPA and Container Policies](#understanding-vpa-and-container-policies)
- [Default Container Policies](#default-container-policies)
- [Default Behavior: Ignoring Sidecar Containers](#default-behavior-ignoring-sidecar-containers)
- [The vpaObservedContainers Annotation](#the-vpaobservedcontainers-annotation)
- [Webhook Ordering Importance](#webhook-ordering-importance)
- [The Eviction Loop Problem](#the-eviction-loop-problem)
- [Customizing VPA Behavior for Sidecar Containers](#customizing-vpa-behavior-for-sidecar-containers)
- [Option 1: Webhook Ordering](#option-1-webhook-ordering)
- [Option 2: Webhook Reinvocation](#option-2-webhook-reinvocation)
- [Implementation Examples](#implementation-examples)
- [Example 1: Istio Sidecar Integration](#example-1-istio-sidecar-integration)
- [Example 2: Custom VPA Configuration with Sidecars](#example-2-custom-vpa-configuration-with-sidecars)
<!-- /toc -->

In this document, "sidecar container" refers to any additional Container that isn't the main application Container in a Pod. This is distinct from the [native Kubernetes sidecar pattern](https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/), which makes use of `initContainers`. Our usage here applies to all additional regular `containers` only, as VPA does not support `initContainers` yet.

The Vertical Pod Autoscaler (VPA) has specific behavior when dealing with these additional containers that are injected into pods via admission webhooks.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
- [Goals](#goals)
- [Non-Goals](#non-goals)
- [Proposal](#proposal)
- [User Stories](#user-stories-optional)
- [User Stories](#user-stories)
- [Story 1](#story-1)
- [Story 2](#story-2)
- [Implementation Details](#implementation-details)
Expand All @@ -15,7 +15,9 @@
- [Test Plan](#test-plan)
- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
- [Alternatives](#alternatives)
- [Out of Scope](#out-out-scope)
- [Develop a plugin framework for customizable recommenders.](#develop-a-plugin-framework-for-customizable-recommenders)
- [Develop a label selector approach.](#develop-a-label-selector-approach)
- [Out of Scope](#out-of-scope)
- [Implementation History](#implementation-history)
<!-- /toc -->

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,26 @@

<!-- toc -->
- [Summary](#summary)
- [A Note On Disruptions](#a-note-on-disruptions)
- [Goals](#goals)
- [Non-Goals](#non-goals)
- [A Note On Disruptions](#a-note-on-disruptions)
- [Goals](#goals)
- [Non-Goals](#non-goals)
- [Proposal](#proposal)
- [Context](#context)
- [Design Details](#design-details)
- [Applying Updates During Pod Admission](#applying-updates-during-pod-admission)
- [In-Place Updates](#in-place-updates)
- [Comparison of `UpdateMode`s](#comparison-of-updatemodes)
- [Test Plan](#test-plan)
- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
- [Feature Enablement and Rollback](#feature-enablement-and-rollback)
- [Kubernetes version compatibility](#kubernetes-version-compatibility)
- [Applying Updates During Pod Admission](#applying-updates-during-pod-admission)
- [In-Place Updates](#in-place-updates)
- [A note on <code>ResizePolicy</code>.](#a-note-on-resizepolicy)
- [Partial Updates](#partial-updates)
- [Comparison of <code>UpdateMode</code>s](#comparison-of-updatemodes)
- [Test Plan](#test-plan)
- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
- [Upgrade](#upgrade)
- [Downgrade](#downgrade)
- [Feature Enablement and Rollback](#feature-enablement-and-rollback)
- [How can this feature be enabled / disabled in a live cluster?](#how-can-this-feature-be-enabled--disabled-in-a-live-cluster)
- [Kubernetes version compatibility](#kubernetes-version-compatibility)
- [Details still to consider](#details-still-to-consider)
- [Careful with memory scale down](#careful-with-memory-scale-down)
- [Implementation History](#implementation-history)
<!-- /toc -->

Expand Down
10 changes: 5 additions & 5 deletions vertical-pod-autoscaler/enhancements/4566-min-replicas/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
<!-- toc -->
- [Summary](#summary)
- [Motivation](#motivation)
- [Goals](#goals)
- [Non-Goals](#non-goals)
- [Goals](#goals)
- [Non-Goals](#non-goals)
- [Proposal](#proposal)
- [Design Details](#design-details)
- [Test Plan](#test-plan)
- [Test Plan](#test-plan)
- [Implementation History](#implementation-history)
- [Alternatives](#alternatives)
- [Existing Behaviour](#existing-behaviour)
- [Reuse Cluster Autoscaler Annotations](#reuse-cluster-autoscaler-annotations)
- [Existing Behaviour](#existing-behaviour)
- [Reuse Cluster Autoscaler Annotations](#reuse-cluster-autoscaler-annotations)
<!-- /toc -->

## Summary
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
<!-- toc -->
- [Summary](#summary)
- [Motivation](#motivation)
- [Goals](#goals)
- [Goals](#goals)
- [Proposal](#proposal)
- [Design Details](#design-details)
- [Test Plan](#test-plan)
- [Test Plan](#test-plan)
- [Alternatives](#alternatives)
- [Run VPA in recommendation only mode](#run-vpa-in-recommendation-only-mode)
<!-- /toc -->

## Summary
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
<!-- toc -->
- [Summary](#summary)
- [Motivation](#motivation)
- [Goals](#goals)
- [Non-Goals](#non-goals)
- [Goals](#goals)
- [Non-Goals](#non-goals)
- [Proposal](#proposal)
- [Design Details](#design-details)
- [Test Plan](#test-plan)
- [Test Plan](#test-plan)
- [Implementation History](#implementation-history)
- [Alternatives](#alternatives)
- [Update the eviction API](#update-the-eviction-api)
- [Update the eviction API](#update-the-eviction-api)
<!-- /toc -->

## Summary
Expand Down
Original file line number Diff line number Diff line change
@@ -1,34 +1,31 @@
# AEP-7862: CPU Startup Boost

<!-- TOC -->

- [AEP-7862: CPU Startup Boost](#aep-7862-cpu-startup-boost)
- [Goals](#goals)
- [Non-Goals](#non-goals)
- [Proposal](#proposal)
- [Design Details](#design-details)
- [Workflow](#workflow)
- [API Changes](#api-changes)
- [Priority of StartupBoost](#priority-of-startupboost)
- [Validation](#validation)
- [Static Validation](#static-validation)
- [Dynamic Validation](#dynamic-validation)
- [Mitigating Failed In-Place Downsizes](#mitigating-failed-in-place-downsizes)
- [Feature Enablement and Rollback](#feature-enablement-and-rollback)
- [How can this feature be enabled / disabled in a live cluster?](#how-can-this-feature-be-enabled--disabled-in-a-live-cluster)
- [Kubernetes Version Compatibility](#kubernetes-version-compatibility)
- [Test Plan](#test-plan)
- [Examples](#examples)
- [Per-pod configurations startupBoost configured in VerticalPodAutoscalerSpec](#per-pod-configurations-startupboost-configured-in-verticalpodautoscalerspec)
- [Startup CPU Boost Enabled & VPA Disabled](#startup-cpu-boost-enabled--vpa-disabled)
- [Startup CPU Boost Disabled & VPA Enabled](#startup-cpu-boost-disabled--vpa-enabled)
- [Startup CPU Boost Enabled & VPA Enabled](#startup-cpu-boost-enabled--vpa-enabled)
- [Per-container configurations startupBoost configured in ContainerPolicies](#per-container-configurations-startupboost-configured-in-containerpolicies)
- [Startup CPU Boost Enabled & VPA Disabled](#startup-cpu-boost-enabled--vpa-disabled)
- [Startup CPU Boost Disabled & VPA Enabled](#startup-cpu-boost-disabled--vpa-enabled)
- [Startup CPU Boost Enabled & VPA Enabled](#startup-cpu-boost-enabled--vpa-enabled)
- [Implementation History](#implementation-history)

- [Goals](#goals)
- [Non-Goals](#non-goals)
- [Proposal](#proposal)
- [Design Details](#design-details)
- [Workflow](#workflow)
- [API Changes](#api-changes)
- [Priority of <code>StartupBoost</code>](#priority-of-startupboost)
- [Validation](#validation)
- [Static Validation](#static-validation)
- [Dynamic Validation](#dynamic-validation)
- [Mitigating Failed In-Place Downsizes](#mitigating-failed-in-place-downsizes)
- [Feature Enablement and Rollback](#feature-enablement-and-rollback)
- [How can this feature be enabled / disabled in a live cluster?](#how-can-this-feature-be-enabled--disabled-in-a-live-cluster)
- [Kubernetes Version Compatibility](#kubernetes-version-compatibility)
- [Test Plan](#test-plan)
- [Examples](#examples)
- [Per-pod configurations (<code>startupBoost</code> configured in <code>VerticalPodAutoscalerSpec</code>)](#per-pod-configurations-startupboost-configured-in-verticalpodautoscalerspec)
- [Startup CPU Boost Enabled &amp; VPA Disabled](#startup-cpu-boost-enabled--vpa-disabled)
- [Startup CPU Boost Disabled &amp; VPA Enabled](#startup-cpu-boost-disabled--vpa-enabled)
- [Startup CPU Boost Enabled &amp; VPA Enabled](#startup-cpu-boost-enabled--vpa-enabled)
- [Per-container configurations (<code>startupBoost</code> configured in <code>ContainerPolicies</code>)](#per-container-configurations-startupboost-configured-in-containerpolicies)
- [Startup CPU Boost Enabled &amp; VPA Disabled](#startup-cpu-boost-enabled--vpa-disabled-1)
- [Startup CPU Boost Disabled &amp; VPA Enabled](#startup-cpu-boost-disabled--vpa-enabled-1)
- [Startup CPU Boost Enabled &amp; VPA Enabled](#startup-cpu-boost-enabled--vpa-enabled-1)
- [Implementation History](#implementation-history)
<!-- /TOC -->

Long application start time is a known problem for more traditional workloads
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
- [Parameter Level Analysis](#parameter-level-analysis)
- [Parameter Precedence: Per-VPA vs Global Configuration](#parameter-precedence-per-vpa-vs-global-configuration)
- [API Changes](#api-changes)
- [Parameter Coexistence and Global Configuration](#parameter-coexistence-and-global-configuration)
- [Phase 1 (Current Proposal)](#phase-1-current-proposal)
- [Future Extensions](#future-extensions)
- [Feature Enablement and Rollback](#feature-enablement-and-rollback)
Expand Down
7 changes: 7 additions & 0 deletions vertical-pod-autoscaler/hack/.notableofcontents
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
./MIGRATE.md
./charts/vertical-pod-autoscaler/README.md
./charts/README.md
Comment on lines +2 to +3
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could easily add a toc to the chart readme, what do you think @omerap12

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add this to this PR so we can see how it would look like?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I gave it a test, part of the problem is that some of the headings are generated by helm-docs
So the toc generation tool will conflict with the helm-docs generation

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it. so let's keep it that way.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I'm hoping that norwoodj/helm-docs#288 is done one day

./docs/api.md
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's possible to generate this api.md file with a top, but I didn't want to fall down that rabbit hole

./enhancements/README.md
./hack/local-cluster.md
./RELEASE.md
Loading