curlでDeploymentをscale
2393 ワード
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
以上です。
Author And Source
この問題について(curlでDeploymentをscale), 我々は、より多くの情報をここで見つけました https://qiita.com/sota0113/items/6170c41d5c22bc15b576著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .