Управление количеством реплик для развертывания С помощью API Kubernetes

Я хочу изменить количество репликаций (стручков) Для развертывание использование API Kubernetes (v1beta1).

пока я могу увеличить реплики из CLI, используя команду:

kubectl scale --replicas=3 deployment my-deployment

на документация по API Kubernetes это упоминание о том, что есть запрос PUT, чтобы сделать то же самое

PUT /apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}/scale

но нет примера того, как это сделать.

Я не уверен, что отправить в теле запроса по порядку для выполнения обновления.

1 ответов


самый простой способ-сначала получить фактические данные с помощью:

GET /apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}/scale

Это даст вам объект yaml или json, который вы можете изменить и отправить обратно с помощью PUT запрос.


с завитком туда и обратно выглядит так:

API_URL="http://kubernetes:8080/apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}/scale"
curl  -H 'Accept: application/json' $API_URL > scale.json
# edit scale.json
curl -X PUT -d@scale.json -H 'Content-Type: application/json' $API_URL

в качестве альтернативы вы можете просто использовать PATCH звоните:

PAYLOAD='[{"op":"replace","path":"/spec/replicas","value":"3"}]'
curl -X PATCH -d$PAYLOAD -H 'Content-Type: application/json-patch+json' $API_URL