mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 09:22:44 +00:00
Kubectl scale command accepts a filename param
This commit is contained in:
parent
a6148e79c3
commit
1e10a7cc59
@ -508,6 +508,12 @@ _kubectl_scale()
|
||||
flags_completion=()
|
||||
|
||||
flags+=("--current-replicas=")
|
||||
flags+=("--filename=")
|
||||
flags_with_completion+=("--filename")
|
||||
flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
|
||||
two_word_flags+=("-f")
|
||||
flags_with_completion+=("-f")
|
||||
flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
|
||||
flags+=("--help")
|
||||
flags+=("-h")
|
||||
flags+=("--output=")
|
||||
|
@ -27,6 +27,10 @@ scale is sent to the server.
|
||||
\fB\-\-current\-replicas\fP=\-1
|
||||
Precondition for current size. Requires that the current size of the replication controller match this value in order to scale.
|
||||
|
||||
.PP
|
||||
\fB\-f\fP, \fB\-\-filename\fP=[]
|
||||
Filename, directory, or URL to a file identifying the replication controller to set a new size
|
||||
|
||||
.PP
|
||||
\fB\-h\fP, \fB\-\-help\fP=false
|
||||
help for scale
|
||||
@ -154,6 +158,9 @@ scale is sent to the server.
|
||||
# Scale replication controller named 'foo' to 3.
|
||||
$ kubectl scale \-\-replicas=3 replicationcontrollers foo
|
||||
|
||||
# Scale a replication controller identified by type and name specified in "foo\-controller.yaml" to 3.
|
||||
$ kubectl scale \-\-replicas=3 \-f foo\-controller.yaml
|
||||
|
||||
# If the replication controller named foo's current size is 2, scale foo to 3.
|
||||
$ kubectl scale \-\-current\-replicas=2 \-\-replicas=3 replicationcontrollers foo
|
||||
|
||||
|
@ -46,7 +46,7 @@ scale is attempted, and it is guaranteed that the precondition holds true when t
|
||||
scale is sent to the server.
|
||||
|
||||
```
|
||||
kubectl scale [--resource-version=version] [--current-replicas=count] --replicas=COUNT TYPE NAME
|
||||
kubectl scale [--resource-version=version] [--current-replicas=count] --replicas=COUNT (-f FILENAME | TYPE NAME)
|
||||
```
|
||||
|
||||
### Examples
|
||||
@ -55,6 +55,9 @@ kubectl scale [--resource-version=version] [--current-replicas=count] --replicas
|
||||
# Scale replication controller named 'foo' to 3.
|
||||
$ kubectl scale --replicas=3 replicationcontrollers foo
|
||||
|
||||
# Scale a replication controller identified by type and name specified in "foo-controller.yaml" to 3.
|
||||
$ kubectl scale --replicas=3 -f foo-controller.yaml
|
||||
|
||||
# If the replication controller named foo's current size is 2, scale foo to 3.
|
||||
$ kubectl scale --current-replicas=2 --replicas=3 replicationcontrollers foo
|
||||
|
||||
@ -66,6 +69,7 @@ $ kubectl scale --replicas=5 rc/foo rc/bar
|
||||
|
||||
```
|
||||
--current-replicas=-1: Precondition for current size. Requires that the current size of the replication controller match this value in order to scale.
|
||||
-f, --filename=[]: Filename, directory, or URL to a file identifying the replication controller to set a new size
|
||||
-h, --help[=false]: help for scale
|
||||
-o, --output="": Output mode. Use "-o name" for shorter output (resource/name).
|
||||
--replicas=-1: The new desired number of replicas. Required.
|
||||
@ -106,7 +110,7 @@ $ kubectl scale --replicas=5 rc/foo rc/bar
|
||||
|
||||
* [kubectl](kubectl.md) - kubectl controls the Kubernetes cluster manager
|
||||
|
||||
###### Auto generated by spf13/cobra at 2015-08-12 16:38:35.551986915 +0000 UTC
|
||||
###### Auto generated by spf13/cobra at 2015-08-13 06:25:21.82766402 +0000 UTC
|
||||
|
||||
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
|
||||
[]()
|
||||
|
@ -623,6 +623,14 @@ __EOF__
|
||||
# Post-condition: 3 replicas
|
||||
kube::test::get_object_assert 'rc frontend' "{{$rc_replicas_field}}" '3'
|
||||
|
||||
### Scale replication controller from JSON with replicas only
|
||||
# Pre-condition: 3 replicas
|
||||
kube::test::get_object_assert 'rc frontend' "{{$rc_replicas_field}}" '3'
|
||||
# Command
|
||||
kubectl scale --replicas=2 -f examples/guestbook/frontend-controller.yaml "${kube_flags[@]}"
|
||||
# Post-condition: 2 replicas
|
||||
kube::test::get_object_assert 'rc frontend' "{{$rc_replicas_field}}" '2'
|
||||
|
||||
### Scale multiple replication controllers
|
||||
kubectl create -f examples/guestbook/redis-master-controller.yaml "${kube_flags[@]}"
|
||||
kubectl create -f examples/guestbook/redis-slave-controller.yaml "${kube_flags[@]}"
|
||||
@ -635,8 +643,8 @@ __EOF__
|
||||
kubectl delete rc redis-{master,slave} "${kube_flags[@]}"
|
||||
|
||||
### Expose replication controller as service
|
||||
# Pre-condition: 3 replicas
|
||||
kube::test::get_object_assert 'rc frontend' "{{$rc_replicas_field}}" '3'
|
||||
# Pre-condition: 2 replicas
|
||||
kube::test::get_object_assert 'rc frontend' "{{$rc_replicas_field}}" '2'
|
||||
# Command
|
||||
kubectl expose rc frontend --port=80 "${kube_flags[@]}"
|
||||
# Post-condition: service exists and the port is unnamed
|
||||
|
@ -39,6 +39,9 @@ scale is sent to the server.`
|
||||
scale_example = `# Scale replication controller named 'foo' to 3.
|
||||
$ kubectl scale --replicas=3 replicationcontrollers foo
|
||||
|
||||
# Scale a replication controller identified by type and name specified in "foo-controller.yaml" to 3.
|
||||
$ kubectl scale --replicas=3 -f foo-controller.yaml
|
||||
|
||||
# If the replication controller named foo's current size is 2, scale foo to 3.
|
||||
$ kubectl scale --current-replicas=2 --replicas=3 replicationcontrollers foo
|
||||
|
||||
@ -49,7 +52,7 @@ $ kubectl scale --replicas=5 rc/foo rc/bar`
|
||||
// NewCmdScale returns a cobra command with the appropriate configuration and flags to run scale
|
||||
func NewCmdScale(f *cmdutil.Factory, out io.Writer) *cobra.Command {
|
||||
cmd := &cobra.Command{
|
||||
Use: "scale [--resource-version=version] [--current-replicas=count] --replicas=COUNT TYPE NAME",
|
||||
Use: "scale [--resource-version=version] [--current-replicas=count] --replicas=COUNT (-f FILENAME | TYPE NAME)",
|
||||
// resize is deprecated
|
||||
Aliases: []string{"resize"},
|
||||
Short: "Set a new size for a Replication Controller.",
|
||||
@ -68,6 +71,9 @@ func NewCmdScale(f *cmdutil.Factory, out io.Writer) *cobra.Command {
|
||||
cmd.Flags().Duration("timeout", 0, "The length of time to wait before giving up on a scale operation, zero means don't wait.")
|
||||
cmd.MarkFlagRequired("replicas")
|
||||
cmdutil.AddOutputFlagsForMutation(cmd)
|
||||
|
||||
usage := "Filename, directory, or URL to a file identifying the replication controller to set a new size"
|
||||
kubectl.AddJsonFilenameFlag(cmd, usage)
|
||||
return cmd
|
||||
}
|
||||
|
||||
@ -82,7 +88,7 @@ func RunScale(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []stri
|
||||
return cmdutil.UsageError(cmd, "--replicas=COUNT TYPE NAME")
|
||||
}
|
||||
|
||||
cmdNamespace, _, err := f.DefaultNamespace()
|
||||
cmdNamespace, enforceNamespace, err := f.DefaultNamespace()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -91,6 +97,7 @@ func RunScale(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []stri
|
||||
r := resource.NewBuilder(mapper, typer, f.ClientMapperForCommand()).
|
||||
ContinueOnError().
|
||||
NamespaceParam(cmdNamespace).DefaultNamespace().
|
||||
FilenameParam(enforceNamespace, cmdutil.GetFlagStringSlice(cmd, "filename")...).
|
||||
ResourceTypeOrNameArgs(false, args...).
|
||||
Flatten().
|
||||
Do()
|
||||
@ -98,16 +105,13 @@ func RunScale(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []stri
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
mapping, err := r.ResourceMapping()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
infos, err := r.Infos()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
info := infos[0]
|
||||
mapping := info.ResourceMapping()
|
||||
scaler, err := f.Scaler(mapping)
|
||||
if err != nil {
|
||||
return err
|
||||
|
Loading…
Reference in New Issue
Block a user