Skip to content

Commit

Permalink
pod-overhead: add beta criteria
Browse files Browse the repository at this point in the history
Update KEP to include a test plan, milestone graduation criteria.

More specifically, describe e2e tests and monitoring additions required
for the PodOverhead feature to meet the beta milestone.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
  • Loading branch information
Eric Ernst committed Jan 29, 2020
1 parent 6b1efb4 commit b280f44
Showing 1 changed file with 42 additions and 15 deletions.
57 changes: 42 additions & 15 deletions keps/sig-node/20190226-pod-overhead.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
t ---
title: Pod Overhead
authors:
- "@egernst"
Expand All @@ -12,17 +12,16 @@ reviewers:
- "@derekwaynecarr"
- "@dchen1107"
approvers:
- TBD
editor: TBD
- "@dchen1107"
- "@derekwaynecarr"
editor: Eric Ernst
creation-date: 2019-02-26
last-updated: 2019-04-12
status: implementable
last-updated: 2020-01-29
status: implemented (alpha)
---

# Pod Overhead

This includes the Summary and Motivation sections.

## Table of Contents

<!-- toc -->
Expand All @@ -42,13 +41,15 @@ This includes the Summary and Motivation sections.
- [Risks and Mitigations](#risks-and-mitigations)
- [Design Details](#design-details)
- [Graduation Criteria](#graduation-criteria)
- [Test Plan](#test-plan)
- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
- [Version Skew Strategy](#version-skew-strategy)
- [Implementation History](#implementation-history)
- [Drawbacks](#drawbacks)
- [Alternatives](#alternatives)
- [Introduce pod level resource requirements](#introduce-pod-level-resource-requirements)
- [Leaving the PodSpec unchanged](#leaving-the-podspec-unchanged)
- [Implementation History](#implementation-history)
- [Version 1.16](#version-116)
<!-- /toc -->

## Release Signoff Checklist
Expand Down Expand Up @@ -246,11 +247,34 @@ are utilized. To help mitigate this risk, I propose that this be treated as a ne

### Graduation Criteria

This KEP will be treated as a new feature, and will be introduced with a new feature gate, PodOverhead.
This KEP will be treated as a new feature, and will be introduced with a new feature gate,
PodOverhead. Plan to introduce this utilizing maturity levels: alpha, beta and stable. The
following criteria applies to `PodOverhead` feature gate:

Alpha
- basic support added in node/core APIs, RuntimeClass admission controller, scheduler and kubelet.

Beta
- ensure proper node e2e test coverage is integrated verifying PodOverhead accounting, including e2e-node
and e2e-scheduling.
- add monitoring to allow monitor if the feature is used and is stable. See:
https://github.com/kubernetes/kubernetes/issues/87259

GA
- assuming no negative user feedback based on production experience, promote
after 2 releases in beta.


Plan to introduce this utilizing maturity levels: alpha, beta and stable.
### Test Plan

Graduation criteria between these levels to be determined.
E2E tests will be created to verify appropriate PodOverhead usage by the scheduler
and Kubelet. RuntimeClass admission controller functionality will be exercised
within the scheduler and kubelet e2e tests.

The Kubelet test, part of e2e-node, will verify appropriate pod cgroup sizing.

The scheduling test, part of e2e-scheduling, will verify predication accounts
for overhead when determining node fit.

### Upgrade / Downgrade Strategy

Expand All @@ -265,10 +289,6 @@ Consider the following in developing an upgrade/downgrade strategy for this enha
Set the overhead to the max of the two version until the rollout is complete. This may be more problematic
if a new version increases (rather than decreases) the required resources.

## Implementation History

- 2019-04-04: Initial KEP published.

## Drawbacks

This KEP introduces further complexity, and adds a field the PodSpec which users aren't expected to modify.
Expand Down Expand Up @@ -307,3 +327,10 @@ Cons:
* handling of the pod overhead is spread out across a few components
* Not user perceptible from a workload perspective.
* very complicated if the runtimeClass policy changes after workloads are running

## Implementation History

2019-04-04: Initial KEP published.

### Version 1.16
- Implemented as Alpha.

0 comments on commit b280f44

Please sign in to comment.