Dockerflow を使用して、Google Cloud Platform で Google Pipelines API を介して並列タスクを実行しています。1,389 個の VM を並行して実行するシングル ステップ タスクを開始したところ、233 個の VM が明らかに何も実行されておらず、無期限にハングしていることがわかった。
シリアル コンソール出力のスポット チェックを行ったところ、VM で「コントローラー構成の取得に失敗しました」というエラーが発生することが繰り返し確認されました。
VM にログインしようとすると、「接続に失敗しました。ポート 22 で VM に接続できません」というエラーが表示されました。
VM インスタンスがハングする理由と、これらの問題の発生を回避するためにできることはあるのか疑問に思っています。
以下にシリアルコンソール出力のスニペットを含めました
startupscript: +++ readlink -f /usr/share/google-genomics/startup.sh
startupscript: ++ dirname /usr/share/google-genomics/startup.sh
startupscript: + cd /usr/share/google-genomics
startupscript: + ./controller --operation_id <id> --validation_token <token> --base_path https://genomics.googleapis.com
create controller[2905]: Getting controller config
create controller[2905]: Getting controller config failed, will retry: Get <link>: Get <service_account_token_link>: net/http: timeout awaiting response headers
create controller[2905]: Getting controller config failed, will retry: Get <link>: dial tcp 74.125.26.95:443: i/o timeout
collectd[2342]: write_gcm: Asking metadata server for auth token
collectd[2342]: write_gcm: curl_easy_perform() failed: Couldn't connect to server
collectd[2342]: write_gcm: Error -1 from wg_curl_get_or_post
collectd[2342]: write_gcm: wg_transmit_unique_segment failed.
collectd[2342]: write_gcm: wg_transmit_unique_segments failed. Flushing.