Skip to content

Commit

Permalink
Use a sub-section for EphemeralContainerSpec
Browse files Browse the repository at this point in the history
  • Loading branch information
verb committed Sep 27, 2017
1 parent 8136e3d commit 1dd396f
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions contributors/design-proposals/node/troubleshoot-running-pods.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Troubleshoot Running Pods

[bit.ly/k8s-pod-troubleshooting](bit.ly/k8s-pod-troubleshooting)
[bit.ly/k8s-pod-troubleshooting](https://bit.ly/k8s-pod-troubleshooting)

* Status: Pending
* Version: Alpha
* Implementation Owner: @verb

This proposal seeks to add first class support for troubleshooting by creating a
mechanism to execute a shell or other troubleshooting tools inside a running pod
Expand Down Expand Up @@ -116,9 +120,15 @@ fields required for creating a Debug Container:
// PodExecOptions is the query options to a Pod's remote exec call
type PodExecOptions struct {
...
// DebugName is the name of the Debug Container. Its presence will cause
// exec to create a Debug Container rather than performing a runtime exec.
DebugName string `json:"debugName,omitempty" ...`
// Run Command in an ephemeral container which shares some namespaces with Container.
EphemeralContainer PodExecEphemeralContainerSpec
}
type PodExecEphemeralContainerSpec struct {
// Name is the name of the Ephemeral Container. This must be specified to create
// an Ephemeral Container rather than performing a runtime exec.
Name string `json:"name,omitempty" ...`
// Image is an optional container image name that will be used to for the Debug
// Container in the specified Pod with Command as ENTRYPOINT. If omitted a
// default image will be used.
Expand All @@ -129,7 +139,7 @@ type PodExecOptions struct {
After creating the Debug Container, the kubelet will upgrade the connection to
streaming and perform an attach to the container's console. If disconnected, the
Debug Container can be reattached using the pod's `/attach` endpoint with
`DebugName`.
`EphemeralContainer.Name`.

Debug Containers cannot be removed via the API and instead the process must
terminate. While not ideal, this parallels existing behavior of `kubectl exec`.
Expand Down

0 comments on commit 1dd396f

Please sign in to comment.