1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

curlでDeploymentをscale

Last updated at Posted at 2019-12-05

Kubernetes APIをcurlで叩いてdeploymentをスケールさせる手順です。
(curlで実行するくらいならkubectl使ったほうが良いかもしれませんが、何かの言語でリクエストプログラムを作成する際に参考になれば幸いです)
スケールはPATCHメソッドで実行します。

##スケール対象の確認

まず対象deploymentの名前とnamespaceを確認します。

kubectl get deploy -n default
NAME               READY   UP-TO-DATE   AVAILABLE   AGE
nginx-deployment   1/1     1            1           119m

環境変数に格納しておきます

export DEPLOYMENT=nginx-deployment
export NAMESPACE=default

Kubernetes APIサーバーのエンドポイントと証明書のパスも併せて環境変数に格納します。
(エンドポイントの確認方法はこちらを参照してください。)
クラスター情報取得

export CRTFILE=/Users/sota-n/.minikube/ca.crt
export APISERVER=https://192.168.99.100:8443

##パッチの準備

適用するパッチを用意します。

export PATCH='{"spec":{"replicas":2}}'

##パッチの適用(スケール)

curlを実行します。
注意点としては、Content-Type:ヘッダーのvalueが application/strategic-merge-patch+json'となっています。

curl -X PATCH \
-H 'Accept: application/json' \
-H 'Content-Type: application/strategic-merge-patch+json' \
-H "Authorization: Bearer ${TOKEN}" \
"${APISERVER}/apis/apps/v1/namespaces/${NAMESPACE}/deployments/${DEPLOYMENT}/scale" -d ${PATCH} --cacert ${CRTFILE}

結果を確認します。

kubectl get deploy -n default
NAME               READY   UP-TO-DATE   AVAILABLE   AGE
nginx-deployment   2/2     2            2           128m

以上です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?