kubectl: Support scaling deployments
This commit adds support for using kubectl scale to scale deployments. Makes use of the deployments/scale endpoint instead of updating deployment.spec.replicas directly.
This commit is contained in:
@@ -18,9 +18,9 @@ package extensions
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"sort"
|
||||
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/labels"
|
||||
"k8s.io/kubernetes/pkg/util/sets"
|
||||
)
|
||||
@@ -65,3 +65,21 @@ func PodSelectorAsSelector(ps *PodSelector) (labels.Selector, error) {
|
||||
sort.Sort(labels.ByKey(selector))
|
||||
return selector, nil
|
||||
}
|
||||
|
||||
// ScaleFromDeployment returns a scale subresource for a deployment.
|
||||
func ScaleFromDeployment(deployment *Deployment) *Scale {
|
||||
return &Scale{
|
||||
ObjectMeta: api.ObjectMeta{
|
||||
Name: deployment.Name,
|
||||
Namespace: deployment.Namespace,
|
||||
CreationTimestamp: deployment.CreationTimestamp,
|
||||
},
|
||||
Spec: ScaleSpec{
|
||||
Replicas: deployment.Spec.Replicas,
|
||||
},
|
||||
Status: ScaleStatus{
|
||||
Replicas: deployment.Status.Replicas,
|
||||
Selector: deployment.Spec.Selector,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user