diff --git a/pkg/kubectl/cmd/cmd_test.go b/pkg/kubectl/cmd/cmd_test.go index e88df0dd69a..c52228f6155 100644 --- a/pkg/kubectl/cmd/cmd_test.go +++ b/pkg/kubectl/cmd/cmd_test.go @@ -532,6 +532,7 @@ func Example_printPodWithWideFormat() { {Ready: true, RestartCount: 3, State: api.ContainerState{Running: &api.ContainerStateRunning{}}}, {RestartCount: 3}, }, + PodIP: "10.1.1.3", }, } mapper, _ := f.Object(false) @@ -540,8 +541,8 @@ func Example_printPodWithWideFormat() { fmt.Printf("Unexpected error: %v", err) } // Output: - // NAME READY STATUS RESTARTS AGE NODE - // test1 1/2 podPhase 6 10y kubernetes-minion-abcd + // NAME READY STATUS RESTARTS AGE IP NODE + // test1 1/2 podPhase 6 10y 10.1.1.3 kubernetes-minion-abcd } func Example_printPodWithShowLabels() { diff --git a/pkg/kubectl/resource_printer.go b/pkg/kubectl/resource_printer.go index cc336a0ce22..e29a952d27c 100644 --- a/pkg/kubectl/resource_printer.go +++ b/pkg/kubectl/resource_printer.go @@ -634,7 +634,12 @@ func printPodBase(pod *api.Pod, w io.Writer, options PrintOptions) error { if options.Wide { nodeName := pod.Spec.NodeName - if _, err := fmt.Fprintf(w, "\t%s", + podIP := pod.Status.PodIP + if podIP == "" { + podIP = "" + } + if _, err := fmt.Fprintf(w, "\t%s\t%s", + podIP, nodeName, ); err != nil { return err @@ -1780,7 +1785,7 @@ func formatLabelHeaders(columnLabels []string) []string { func formatWideHeaders(wide bool, t reflect.Type) []string { if wide { if t.String() == "*api.Pod" || t.String() == "*api.PodList" { - return []string{"NODE"} + return []string{"IP", "NODE"} } if t.String() == "*api.ReplicationController" || t.String() == "*api.ReplicationControllerList" { return []string{"CONTAINER(S)", "IMAGE(S)", "SELECTOR"}