Is there a way to scale replication controller via API in kubernetes.

By using kubeclt command, it may be done by running:

kubectl scale --replicas=1 --namespace=kube-system rc my_replication_controller

But how to achieve it using API?

Moving through docs, I found only "replace scale of the specified Scale" and "partially update scale of the specified Scale" among write operations. But I think this is not what I need.

  • 1
    In general, you can use the --v=9 flag of kubectl to see which API call it uses.
    – jofel
    Commented Jan 30, 2018 at 7:43

1 Answer 1


After long playing with it and consulting on slack DevOps chat, I was able to figure it out. Here is a workable curl:

curl -sSk -H \"Authorization: Bearer ${KUBE_TOKEN}\" -H 'Content-Type: application/merge-patch+json' -X 'PATCH' $URL_NAME/api/v1/namespaces/kube-system/replicationcontrollers/kube-registry-v0 -d '{"spec": {"replicas":  1}}'

One of the important components here is "Content-Type: application/merge-patch+json" Without it specification, Kubernetes will not recognize data in API request correctly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.