問題タブ [terraform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1095 参照

shell - Terraform 補間エラー: 不適切な置換

AWS で terraform を使用してパペット マスター/スレーブ セットアップをセットアップしようとしています。私は 2 つの EC2 インスタンスを持っています。1 つはマスター、2 番目はスレーブです。

スクリプトを setup.tf として記述しました

パペットマスターとスレーブのインストールに使用しているスクリプトは次のとおりです。

スレーブの場合:

このスクリプトを実行すると、スレーブ シェル スクリプトで補間のエラーが発生します。

{aws_instance.puppet_master.private_ip} : 不正な補間

マスターIPが必要なパペットでマスタースレーブをセットアップするため、この補間文字列の代わりにマスタープライベートIPを置き換えたいです。

これに対する回避策はありますか?

0 投票する
1 に答える
1260 参照

networking - Terraform と Docker ネットワーキング

次のようなドッカー プロビジョナーを使用して Terraform レシピを定義しました。

コンテナーは、(変数 customer_name を使用して) その場で作成されたネットワークにのみ接続されると予想されます。しかし、コンテナはデフォルトのブリッジ ネットワーク (172.17.0.0/16) にも接続されているため、2 つのネットワークに接続されています。

ネットワーク リストで指定したネットワークにのみ接続されるように、テラフォームでコンテナーを構成する方法はありますか?

0 投票する
1 に答える
2899 参照

amazon-web-services - 複数のインスタンスの IP アドレスを取得しようとすると、Terraform が停止しますか?

そのため、terraform を使用して ec2 インスタンスと openstack インスタンスをプロビジョニングしています。(consul を設定するために) それらを使用するコマンドを実行する必要があるため、作成しているインスタンスの IP アドレスを参照しようとしています。terraform applyただし、これらの変数への参照を追加した後、テラフォームは停止し、またはを実行した後はまったく何もしませんterraform plan:

実行しようとしているリソース ブロックのサンプルを次に示します。

更新: openstack クラウドで同様のコマンドを実行しようとしたところ、同じ問題が発生しました:

したがって、代わりに IP アドレスの 1 つだけを使用すると、次のブロックのように、最初のインスタンスが作成されるまで他のインスタンスが作成されないことがわかりました。

すべてのインスタンスを同時に作成し、作成された他のすべてのインスタンスの IP アドレスにアクセスできるようにする必要があります。

0 投票する
2 に答える
7541 参照

openstack - Terraform、既存のリソースでプロビジョナーを実行する方法は?

私の質問は、この git ハブの投稿に似ています。

https://github.com/hashicorp/terraform/issues/745

また、私の別のスタック交換投稿にも関連しています。

複数のインスタンスの IP アドレスを取得しようとすると、Terraform が停止しますか?

複数のサーバーをブートストラップしようとしていますが、他のすべてのインスタンスの IP アドレスを必要とするインスタンスで実行する必要があるコマンドがいくつかあります。ただし、新しく作成したインスタンスの IP アドレスを保持する変数には、それらが作成されるまでアクセスできません。したがって、次のprovisioner "remote-exec"ようなブロックを実行しようとすると:

すべてのインスタンスが他のすべてのインスタンスの作成が完了するのを待っているため、何も起こらず、そもそも何も作成されません。そのため、リソースを作成し、リソースが作成された後にブロック コマンドを実行する方法が必要であり、provisioner "remote-exec"terraform はすべてのインスタンスの IP アドレスにアクセスできます。

0 投票する
1 に答える
15462 参照

provisioning - Terraform、コマンドで二重引用符を使用する簡単な方法をお探しですか?

Terraform スクリプト"のブロックで通常の引用符を使用する簡単な方法が必要です。自分がやりたいことのためにしかprovisioner "remote-exec"うまくいかず、ただやってみるだけではうまくいきません。terraform にコマンドを文字どおりに解釈させる最も簡単な方法は何ですか。参考までに、私が実行しようとしているものは次のとおりです。"\"