mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 22:17:14 +00:00
Merge pull request #10806 from hurf/help_describe
Add a better help message for kubectl describe
This commit is contained in:
commit
eff5f17b1e
@ -26,6 +26,12 @@ $ kubectl describe RESOURCE NAME\_PREFIX
|
|||||||
will first check for an exact match on RESOURCE and NAME\_PREFIX. If no such resource
|
will first check for an exact match on RESOURCE and NAME\_PREFIX. If no such resource
|
||||||
exists, it will output details for every resource that has a name prefixed with NAME\_PREFIX
|
exists, it will output details for every resource that has a name prefixed with NAME\_PREFIX
|
||||||
|
|
||||||
|
.PP
|
||||||
|
Possible resources include pods (po), replicationcontrollers (rc), services
|
||||||
|
(svc), nodes (no), events (ev), componentstatuses (cs), limitRanges (limits),
|
||||||
|
persistentVolumes (pv), persistentVolumeClaims (pvc), resourceQuotas (quota)
|
||||||
|
or secrets.
|
||||||
|
|
||||||
|
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
.PP
|
.PP
|
||||||
|
@ -29,6 +29,11 @@ $ kubectl describe RESOURCE NAME_PREFIX
|
|||||||
will first check for an exact match on RESOURCE and NAME_PREFIX. If no such resource
|
will first check for an exact match on RESOURCE and NAME_PREFIX. If no such resource
|
||||||
exists, it will output details for every resource that has a name prefixed with NAME_PREFIX
|
exists, it will output details for every resource that has a name prefixed with NAME_PREFIX
|
||||||
|
|
||||||
|
Possible resources include pods (po), replicationcontrollers (rc), services
|
||||||
|
(svc), nodes (no), events (ev), componentstatuses (cs), limitRanges (limits),
|
||||||
|
persistentVolumes (pv), persistentVolumeClaims (pvc), resourceQuotas (quota)
|
||||||
|
or secrets.
|
||||||
|
|
||||||
```
|
```
|
||||||
kubectl describe (RESOURCE NAME_PREFIX | RESOURCE/NAME)
|
kubectl describe (RESOURCE NAME_PREFIX | RESOURCE/NAME)
|
||||||
```
|
```
|
||||||
@ -89,7 +94,7 @@ $ kubectl describe pods frontend
|
|||||||
### 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-07-14 00:11:42.955631296 +0000 UTC
|
###### Auto generated by spf13/cobra at 2015-07-14 08:21:33.374469932 +0000 UTC
|
||||||
|
|
||||||
|
|
||||||
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
|
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
|
||||||
|
@ -90,6 +90,18 @@ __custom_func() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
`
|
||||||
|
valid_resources = `Valid resource types include:
|
||||||
|
* pods (aka 'po')
|
||||||
|
* replicationcontrollers (aka 'rc')
|
||||||
|
* services (aka 'svc')
|
||||||
|
* nodes (aka 'no')
|
||||||
|
* events (aka 'ev')
|
||||||
|
* secrets
|
||||||
|
* limits
|
||||||
|
* persistentVolumes (aka 'pv')
|
||||||
|
* persistentVolumeClaims (aka 'pvc')
|
||||||
|
* quota
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/errors"
|
apierrors "github.com/GoogleCloudPlatform/kubernetes/pkg/api/errors"
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/meta"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/meta"
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/kubectl"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/kubectl"
|
||||||
cmdutil "github.com/GoogleCloudPlatform/kubernetes/pkg/kubectl/cmd/util"
|
cmdutil "github.com/GoogleCloudPlatform/kubernetes/pkg/kubectl/cmd/util"
|
||||||
@ -40,7 +40,12 @@ given resource or group of resources.
|
|||||||
$ kubectl describe RESOURCE NAME_PREFIX
|
$ kubectl describe RESOURCE NAME_PREFIX
|
||||||
|
|
||||||
will first check for an exact match on RESOURCE and NAME_PREFIX. If no such resource
|
will first check for an exact match on RESOURCE and NAME_PREFIX. If no such resource
|
||||||
exists, it will output details for every resource that has a name prefixed with NAME_PREFIX`
|
exists, it will output details for every resource that has a name prefixed with NAME_PREFIX
|
||||||
|
|
||||||
|
Possible resources include pods (po), replicationcontrollers (rc), services
|
||||||
|
(svc), nodes (no), events (ev), componentstatuses (cs), limitRanges (limits),
|
||||||
|
persistentVolumes (pv), persistentVolumeClaims (pvc), resourceQuotas (quota)
|
||||||
|
or secrets.`
|
||||||
describe_example = `// Describe a node
|
describe_example = `// Describe a node
|
||||||
$ kubectl describe nodes kubernetes-minion-emt8.c.myproject.internal
|
$ kubectl describe nodes kubernetes-minion-emt8.c.myproject.internal
|
||||||
|
|
||||||
@ -78,6 +83,11 @@ func RunDescribe(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []s
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(args) == 0 {
|
||||||
|
fmt.Fprint(out, "You must specify the type of resource to describe. ", valid_resources)
|
||||||
|
return cmdutil.UsageError(cmd, "Required resource not specified.")
|
||||||
|
}
|
||||||
|
|
||||||
mapper, typer := f.Object()
|
mapper, typer := f.Object()
|
||||||
r := resource.NewBuilder(mapper, typer, f.ClientMapperForCommand()).
|
r := resource.NewBuilder(mapper, typer, f.ClientMapperForCommand()).
|
||||||
ContinueOnError().
|
ContinueOnError().
|
||||||
@ -101,7 +111,7 @@ func RunDescribe(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []s
|
|||||||
}
|
}
|
||||||
infos, err := r.Infos()
|
infos, err := r.Infos()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if errors.IsNotFound(err) && len(args) == 2 {
|
if apierrors.IsNotFound(err) && len(args) == 2 {
|
||||||
return DescribeMatchingResources(mapper, typer, describer, f, cmdNamespace, args[0], args[1], out)
|
return DescribeMatchingResources(mapper, typer, describer, f, cmdNamespace, args[0], args[1], out)
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
|
@ -17,7 +17,6 @@ limitations under the License.
|
|||||||
package cmd
|
package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
|
|
||||||
@ -101,25 +100,8 @@ func RunGet(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string
|
|||||||
}
|
}
|
||||||
|
|
||||||
if len(args) == 0 {
|
if len(args) == 0 {
|
||||||
fmt.Fprint(out, `
|
fmt.Fprint(out, "You must specify the type of resource to get. ", valid_resources)
|
||||||
You must specify the type of resource to get. Valid resource types include:
|
return cmdutil.UsageError(cmd, "Required resource not specified.")
|
||||||
* componentStatuses (aka 'cs')
|
|
||||||
* endpoints (aka 'ep')
|
|
||||||
* events (aka 'ev')
|
|
||||||
* limits
|
|
||||||
* namespaces
|
|
||||||
* nodes (aka 'no')
|
|
||||||
* persistentVolumeClaims (aka 'pvc')
|
|
||||||
* persistentVolumes (aka 'pv')
|
|
||||||
* pods (aka 'po')
|
|
||||||
* podTemplates
|
|
||||||
* quota
|
|
||||||
* replicationcontrollers (aka 'rc')
|
|
||||||
* secrets
|
|
||||||
* serviceAccounts
|
|
||||||
* services
|
|
||||||
`)
|
|
||||||
return errors.New("Required resource not specified.")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// handle watch separately since we cannot watch multiple resource types
|
// handle watch separately since we cannot watch multiple resource types
|
||||||
|
Loading…
Reference in New Issue
Block a user