HiveBrain v1.2.0
Get Started
← Back to all entries
patternkubernetesMinor

Scaling replication controllers via API in Kubernetes

Submitted by: @import:stackexchange-devops··
0
Viewed 0 times
kubernetesscalingcontrollersreplicationviaapi

Problem

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.

Solution

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.

Code Snippets

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}}'

Context

StackExchange DevOps Q#3178, answer score: 3

Revisions (0)

No revisions yet.