diff --git a/pkg/cmd/debug/debug.go b/pkg/cmd/debug/debug.go index 7d44b7db..6720c33b 100644 --- a/pkg/cmd/debug/debug.go +++ b/pkg/cmd/debug/debug.go @@ -275,8 +275,17 @@ func (o *DebugOptions) Validate(cmd *cobra.Command) error { } // TargetContainer - if len(o.TargetContainer) > 0 && len(o.CopyTo) > 0 { - return fmt.Errorf("--target is incompatible with --copy-to. Use --share-processes instead.") + if len(o.TargetContainer) > 0 { + if len(o.CopyTo) > 0 { + return fmt.Errorf("--target is incompatible with --copy-to. Use --share-processes instead.") + } + if !o.Quiet { + // If the runtime doesn't support container namespace targeting this will fail silently, which has caused + // some confusion (ex: https://issues.k8s.io/98362), so print a warning. This can be removed when + // EphemeralContainers are generally available. + fmt.Fprintf(o.Out, "Targeting container %q. If you don't see processes from this container it may be because the container runtime doesn't support this feature.\n", o.TargetContainer) + // TODO(verb): Add a list of supported container runtimes to https://kubernetes.io/docs/concepts/workloads/pods/ephemeral-containers/ and then link here. + } } // TTY