mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Merge pull request #12521 from feihujiang/kubectlScaleAcceptFileNameParam
Kubectl scale command accepts a filename param
This commit is contained in:
		@@ -539,6 +539,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 -->
 | 
			
		||||
[]()
 | 
			
		||||
 
 | 
			
		||||
@@ -628,6 +628,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[@]}"
 | 
			
		||||
@@ -640,8 +648,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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user