Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2804

CIでテストするときとかにKubernetesで全部のPodがREADYでRunningになるまで待つヤツ

$
0
0

CIですべてのPodの準備ができたことを確認してからテストを実行したかった時に使いました。
kubectlでnamespace内のすべてのPodに対し、READYがn/nになってRunningになるまで待ちます。

$ kubectl -n dev-test get pod
NAME                        READY   STATUS             RESTARTS   AGE
aaaaaaaaaaaaaaaa            1/1     Running            0          16m
bbbbbbbbbbbbbbbb            1/3     Running            0          16m #これが3/3になるまで待つ
cccccccccccccccc            0/1     Pending            0          16m #PendingがRunningになって1/1になるまで待つ
dddddddddddddddd            1/1     Running            0          16m

以下のようにして準備ができるまでsleepを続けます。

k8s_namespace=<your namespace>
while :; do
    [ "$(kubectl -n ${k8s_namespace}  get pod --no-headers | awk -F' *|/' '$2 != $3 || $4 != "Running"')" == "" ] && break
    sleep 3 && echo "wait all pod status to be READY and Running"
done

以上。


Viewing all articles
Browse latest Browse all 2804

Trending Articles