KubernetesのJobを定義するときに覚えておくと便利なコマンド
特定のエンドポイントが疎通したことを確認してから処理を行う
特定のエンドポイントが200返すことを確認してから処理を行うことができます。istio-proxyなどSidecarコンテナの起動を待てます。
e.g :
istio-proxyの起動を待ってから処理開始。完了したらファイル配置
- name: job-name image: alpine command: ["/bin/sh","-c"] args: ["while ! wget http://127.0.0.1:15020/healthz/ready -O -; do echo 'waiting istio-proxy...' && sleep 1; done; /startjob && touch /tmp/proxy-killer/ready"] volumeMounts: - name: proxy-killer mountPath: /tmp/proxy-killer
特定のファイルの存在を待ってから処理を行う
volume経由で実行完了を通知して後処理を行うことができます。
e.g :
ファイルの存在を確認してからpkill
- name: proxy-killer image: alpine command: ["/bin/sh", "-c"] args: ["while [ ! -f /tmp/proxy-killer/ready ]; do echo 'waiting ready to kill proxy...' && sleep 1; done; pkill -f /usr/local/bin/pilot-agent"] volumeMounts: - name: proxy-killer mountPath: /tmp/proxy-killer