From e3f8c0406b8103422fc5b8cc26c2389f28a0ce6e Mon Sep 17 00:00:00 2001 From: Rodrigo Campos Date: Wed, 15 Jul 2020 18:16:15 -0300 Subject: [PATCH] sidecar: update TOC --- keps/sig-apps/0753-sidecarcontainers.md | 60 ++++++++++++++++++++----- 1 file changed, 50 insertions(+), 10 deletions(-) diff --git a/keps/sig-apps/0753-sidecarcontainers.md b/keps/sig-apps/0753-sidecarcontainers.md index 3c2e2ccd9538..3ac7b5c3fb4e 100644 --- a/keps/sig-apps/0753-sidecarcontainers.md +++ b/keps/sig-apps/0753-sidecarcontainers.md @@ -31,9 +31,11 @@ status: provisional - [Summary](#summary) - [Prerequisites](#prerequisites) - [Motivation](#motivation) - - [Jobs](#jobs) - - [Startup](#startup) - - [Shutdown](#shutdown) + - [Problems: jobs with sidecar containers](#problems-jobs-with-sidecar-containers) + - [Problems: service mesh, metrics and logging sidecars](#problems-service-mesh-metrics-and-logging-sidecars) + - [Logging sidecar](#logging-sidecar) + - [Metrics sidecar](#metrics-sidecar) + - [Service mesh](#service-mesh) - [Goals](#goals) - [Non-Goals](#non-goals) - [Proposal](#proposal) @@ -44,7 +46,39 @@ status: provisional - [Sidecars terminated last](#sidecars-terminated-last) - [Sidecars started first](#sidecars-started-first) - [PreStop hooks sent to Sidecars first](#prestop-hooks-sent-to-sidecars-first) - - [PoC and Demo](#poc-and-demo) + - [Proposal decisions to discuss](#proposal-decisions-to-discuss) + - [preStop hooks delivery guarantees are changed](#prestop-hooks-delivery-guarantees-are-changed) + - [Alternative 1: add a TerminationHook](#alternative-1-add-a-terminationhook) + - [Alternative 2: Do nothing](#alternative-2-do-nothing) + - [Suggestion](#suggestion) + - [Time to kill a pod is ~3 times more when using sidecars](#time-to-kill-a-pod-is-3-times-more-when-using-sidecars) + - [Why is it important to discuss this?](#why-is-it-important-to-discuss-this) + - [Alternatives to kill a pod in ~TerminationGracePeriodSeconds](#alternatives-to-kill-a-pod-in-terminationgraceperiodseconds) + - [No guarantees on how much time a container will have to shutdown](#no-guarantees-on-how-much-time-a-container-will-have-to-shutdown) + - [Currently not handling the case of pod=nil](#currently-not-handling-the-case-of-podnil) + - [Pods with RestartPolicy Never](#pods-with-restartpolicy-never) + - [Alternative 1: Add a per container fatalToPod field](#alternative-1-add-a-per-container-fataltopod-field) + - [Alternative 2: Do nothing](#alternative-2-do-nothing-1) + - [Alternative 2: Always restart sidecar containers](#alternative-2-always-restart-sidecar-containers) + - [Suggestion](#suggestion-1) + - [Sidecar containers won't be available during initContainers phase](#sidecar-containers-wont-be-available-during-initcontainers-phase) + - [Suggestion](#suggestion-2) + - [Revisit if we want to modify the podPhase](#revisit-if-we-want-to-modify-the-podphase) + - [Alternative 1: don't change the pod phase](#alternative-1-dont-change-the-pod-phase) + - [Alternative 2: change the pod phase](#alternative-2-change-the-pod-phase) + - [Suggestion](#suggestion-3) + - [Add another container type: standard](#add-another-container-type-standard) + - [Is this change really worth doing?](#is-this-change-really-worth-doing) + - [Kubernetes jobs with sidecars](#kubernetes-jobs-with-sidecars) + - [Kubernetes pods that run indefinitely with sidecars](#kubernetes-pods-that-run-indefinitely-with-sidecars) + - [Service mesh](#service-mesh-1) + - [Other sidecars](#other-sidecars) + - [Why this design seems extensible?](#why-this-design-seems-extensible) + - [What if we add pre-defined phases for container startup/shutdown?](#what-if-we-add-pre-defined-phases-for-container-startupshutdown) + - [What if we add "Depends On" semantics to containers?](#what-if-we-add-depends-on-semantics-to-containers) + - [Proof of concept implementations](#proof-of-concept-implementations) + - [KEP implementation and Demo](#kep-implementation-and-demo) + - [Another implementation using pod annotations](#another-implementation-using-pod-annotations) - [Risks and Mitigations](#risks-and-mitigations) - [Design Details](#design-details) - [Test Plan](#test-plan) @@ -55,12 +89,18 @@ status: provisional - [Version Skew Strategy](#version-skew-strategy) - [Implementation History](#implementation-history) - [Alternatives](#alternatives) - - [Add a pod.spec.SidecarContainers array](#add-a-podspecsidecarcontainers-array) - - [Mark one container as the Primary Container](#mark-one-container-as-the-primary-container) - - [Boolean flag on container, Sidecar: true](#boolean-flag-on-container-sidecar-true) - - [Mark containers whose termination kills the pod, terminationFatalToPod: true](#mark-containers-whose-termination-kills-the-pod-terminationfataltopod-true) - - [Add "Depends On" semantics to containers](#add-depends-on-semantics-to-containers) - - [Pre-defined phases for container startup/shutdown or arbitrary numbers for ordering](#pre-defined-phases-for-container-startupshutdown-or-arbitrary-numbers-for-ordering) + - [Alternative designs considered](#alternative-designs-considered) + - [Add a pod.spec.SidecarContainers array](#add-a-podspecsidecarcontainers-array) + - [Mark one container as the Primary Container](#mark-one-container-as-the-primary-container) + - [Boolean flag on container, Sidecar: true](#boolean-flag-on-container-sidecar-true) + - [Mark containers whose termination kills the pod, terminationFatalToPod: true](#mark-containers-whose-termination-kills-the-pod-terminationfataltopod-true) + - [Add "Depends On" semantics to containers](#add-depends-on-semantics-to-containers) + - [Pre-defined phases for container startup/shutdown or arbitrary numbers for ordering](#pre-defined-phases-for-container-startupshutdown-or-arbitrary-numbers-for-ordering) + - [Workarounds sidecars need to do today](#workarounds-sidecars-need-to-do-today) + - [Jobs with sidecar containers](#jobs-with-sidecar-containers) + - [Service mesh or metrics sidecars](#service-mesh-or-metrics-sidecars) + - [Istio bug report](#istio-bug-report) + - [Move containers out of the pod](#move-containers-out-of-the-pod) ## Release Signoff Checklist