Merge pull request #101074 from verb/1.22-kubectl-target-warning

Warn user for runtime support of debug targeting

Kubernetes-commit: c246b03d74acf2c420611991e692248e04fc02a8
This commit is contained in:
Kubernetes Publisher 2021-07-02 13:38:26 -07:00
commit 3b7af6cd57
1 changed files with 11 additions and 2 deletions

View File

@ -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