私は新しいサーバーをブートストラップするために専用のopenstackクラウドでterraformを実行しています。最も忙しい時間帯(平日の午後)に新しいサーバーを作成しようとすると、通常はサーバーの半分が失敗します(これはterraformとは関係ありません)。問題は、私がプロビジョニングしようとしているサーバの1つが、provisioner "remote-exec"
ブロックをエラーなしで完了できない場合です(プライベートクラウドのため)。terraform apply
がすべて停止します。Terraform、プロビジョニング中に障害の発生したサーバーを無視する方法
terraform apply
を実行したときにterraformがこれらの障害が発生したサーバを完全に無視して、20台のサーバをプロビジョニングしようとすると1台しか正常に起動しないため、 。
のようなものがありますか?私のリソースに追加して、失敗したサーバを無視して、成功したサーバを実行するようにしますか?
実際にTFでこれを行う方法はありません(私が知る限り)。テラフォームとプロビジョニングのバンドルを解除して、TFが完了した後に何か外部にプロビジョニングすることができます。私たちはインスタンスを作成し、新しいインスタンスに対してAnsibleプレイブックを別々に実行し、Jenkinsを介してそれらのすべてを編成します。全体に少し複雑さを加えていますが、あなたがここにいるように、あなたはあまり緊密に結合されていません。 – ydaetskcoR
こんにちは!前のコメントと同じアイデア。テラフォームベースのインフラストラクチャのための軽量なプロビジョニングツールである[sparrowform](https://github.com/melezhik/sparrowform)を試してみてください。これはテラフォームから切り離されているため、プロビジョニングエラーでお客様のケースを処理します。 –