Skip to content

Commit 1dd396f

Browse files
committed
Use a sub-section for EphemeralContainerSpec
1 parent 8136e3d commit 1dd396f

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

contributors/design-proposals/node/troubleshoot-running-pods.md

+15-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
# Troubleshoot Running Pods
22

3-
[bit.ly/k8s-pod-troubleshooting](bit.ly/k8s-pod-troubleshooting)
3+
[bit.ly/k8s-pod-troubleshooting](https://bit.ly/k8s-pod-troubleshooting)
4+
5+
* Status: Pending
6+
* Version: Alpha
7+
* Implementation Owner: @verb
48

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

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

0 commit comments

Comments
 (0)