mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 01:06:27 +00:00
Merge pull request #10519 from JanetKuo/kubectl-c
Enable -c for kubectl logs container arg
This commit is contained in:
commit
b42cac69cb
@ -428,6 +428,8 @@ _kubectl_logs()
|
|||||||
flags_with_completion=()
|
flags_with_completion=()
|
||||||
flags_completion=()
|
flags_completion=()
|
||||||
|
|
||||||
|
flags+=("--container=")
|
||||||
|
two_word_flags+=("-c")
|
||||||
flags+=("--follow")
|
flags+=("--follow")
|
||||||
flags+=("-f")
|
flags+=("-f")
|
||||||
flags+=("--help")
|
flags+=("--help")
|
||||||
|
@ -8,7 +8,7 @@ Print the logs for a container in a pod.
|
|||||||
Print the logs for a container in a pod. If the pod has only one container, the container name is optional.
|
Print the logs for a container in a pod. If the pod has only one container, the container name is optional.
|
||||||
|
|
||||||
```
|
```
|
||||||
kubectl logs [-f] [-p] POD [CONTAINER]
|
kubectl logs [-f] [-p] POD [-c CONTAINER]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Examples
|
### Examples
|
||||||
@ -27,6 +27,7 @@ $ kubectl logs -f 123456-7890 ruby-container
|
|||||||
### Options
|
### Options
|
||||||
|
|
||||||
```
|
```
|
||||||
|
-c, --container="": Container name
|
||||||
-f, --follow=false: Specify if the logs should be streamed.
|
-f, --follow=false: Specify if the logs should be streamed.
|
||||||
-h, --help=false: help for logs
|
-h, --help=false: help for logs
|
||||||
--interactive=true: If true, prompt the user for input when required. Default true.
|
--interactive=true: If true, prompt the user for input when required. Default true.
|
||||||
@ -65,6 +66,6 @@ $ kubectl logs -f 123456-7890 ruby-container
|
|||||||
### SEE ALSO
|
### SEE ALSO
|
||||||
* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager
|
* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra at 2015-05-21 20:24:03.06578685 +0000 UTC
|
###### Auto generated by spf13/cobra at 2015-06-30 16:27:32.981507725 +0000 UTC
|
||||||
|
|
||||||
[]()
|
[]()
|
||||||
|
@ -17,6 +17,10 @@ Print the logs for a container in a pod. If the pod has only one container, the
|
|||||||
|
|
||||||
|
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
|
.PP
|
||||||
|
\fB\-c\fP, \fB\-\-container\fP=""
|
||||||
|
Container name
|
||||||
|
|
||||||
.PP
|
.PP
|
||||||
\fB\-f\fP, \fB\-\-follow\fP=false
|
\fB\-f\fP, \fB\-\-follow\fP=false
|
||||||
Specify if the logs should be streamed.
|
Specify if the logs should be streamed.
|
||||||
|
@ -61,15 +61,20 @@ func selectContainer(pod *api.Pod, in io.Reader, out io.Writer) string {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type logParams struct {
|
||||||
|
containerName string
|
||||||
|
}
|
||||||
|
|
||||||
// NewCmdLog creates a new pod log command
|
// NewCmdLog creates a new pod log command
|
||||||
func NewCmdLog(f *cmdutil.Factory, out io.Writer) *cobra.Command {
|
func NewCmdLog(f *cmdutil.Factory, out io.Writer) *cobra.Command {
|
||||||
|
params := &logParams{}
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
Use: "logs [-f] [-p] POD [CONTAINER]",
|
Use: "logs [-f] [-p] POD [-c CONTAINER]",
|
||||||
Short: "Print the logs for a container in a pod.",
|
Short: "Print the logs for a container in a pod.",
|
||||||
Long: "Print the logs for a container in a pod. If the pod has only one container, the container name is optional.",
|
Long: "Print the logs for a container in a pod. If the pod has only one container, the container name is optional.",
|
||||||
Example: log_example,
|
Example: log_example,
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
err := RunLog(f, out, cmd, args)
|
err := RunLog(f, out, cmd, args, params)
|
||||||
cmdutil.CheckErr(err)
|
cmdutil.CheckErr(err)
|
||||||
},
|
},
|
||||||
Aliases: []string{"log"},
|
Aliases: []string{"log"},
|
||||||
@ -77,11 +82,12 @@ func NewCmdLog(f *cmdutil.Factory, out io.Writer) *cobra.Command {
|
|||||||
cmd.Flags().BoolP("follow", "f", false, "Specify if the logs should be streamed.")
|
cmd.Flags().BoolP("follow", "f", false, "Specify if the logs should be streamed.")
|
||||||
cmd.Flags().Bool("interactive", true, "If true, prompt the user for input when required. Default true.")
|
cmd.Flags().Bool("interactive", true, "If true, prompt the user for input when required. Default true.")
|
||||||
cmd.Flags().BoolP("previous", "p", false, "If true, print the logs for the previous instance of the container in a pod if it exists.")
|
cmd.Flags().BoolP("previous", "p", false, "If true, print the logs for the previous instance of the container in a pod if it exists.")
|
||||||
|
cmd.Flags().StringVarP(¶ms.containerName, "container", "c", "", "Container name")
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
// RunLog retrieves a pod log
|
// RunLog retrieves a pod log
|
||||||
func RunLog(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string) error {
|
func RunLog(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, p *logParams) error {
|
||||||
if len(os.Args) > 1 && os.Args[1] == "log" {
|
if len(os.Args) > 1 && os.Args[1] == "log" {
|
||||||
printDeprecationWarning("logs", "log")
|
printDeprecationWarning("logs", "log")
|
||||||
}
|
}
|
||||||
@ -111,6 +117,11 @@ func RunLog(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string
|
|||||||
}
|
}
|
||||||
|
|
||||||
var container string
|
var container string
|
||||||
|
if cmdutil.GetFlagString(cmd, "container") != "" {
|
||||||
|
// [-c CONTAINER]
|
||||||
|
container = p.containerName
|
||||||
|
} else {
|
||||||
|
// [CONTAINER] (container as arg not flag) is supported as legacy behavior. See PR #10519 for more details.
|
||||||
if len(args) == 1 {
|
if len(args) == 1 {
|
||||||
if len(pod.Spec.Containers) != 1 {
|
if len(pod.Spec.Containers) != 1 {
|
||||||
return fmt.Errorf("POD %s has more than one container; please specify the container to print logs for", pod.ObjectMeta.Name)
|
return fmt.Errorf("POD %s has more than one container; please specify the container to print logs for", pod.ObjectMeta.Name)
|
||||||
@ -119,6 +130,7 @@ func RunLog(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string
|
|||||||
} else {
|
} else {
|
||||||
container = args[1]
|
container = args[1]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
follow := false
|
follow := false
|
||||||
if cmdutil.GetFlagBool(cmd, "follow") {
|
if cmdutil.GetFlagBool(cmd, "follow") {
|
||||||
|
Loading…
Reference in New Issue
Block a user