Terraformを使用してAWSインスタンスを作成し、その内部にPuppetモジュールを実行したいとします。私はgithubから多くのモジュールを試したが、何も動作していないようだ。誰もこれを試しましたか?terraformで人形を使用する
0
A
答えて
0
同様の使用例ですが、人形の代わりに安全なものを使用するために、私たちはlocal-execと共にnull_resourceを使用します。
resource "null_resource" "lvm_housekeeping" {
triggers {
ebs_volume_ids = "${join(",", aws_volume_attachment.instance_ebs_attachment.*.volume_id)}"
}
provisioner "local-exec" {
command = "ANSIBLE_CONFIG=$HOME/'${var.ansible_repo_location}'/ansible.cfg ansible-playbook -u ec2-user -e target=all -i '${join(",",aws_instance.my_instance.*.private_ip)}, ' $HOME/'${var.ansible_repo_location}'/main.yml"
on_failure = "continue"
}
}
2
あなたは基本的にこれをしなければならない方法はremote-exec
プロビジョニングでローカルに人形をインストールしてから、いずれかapply
またはagent
実行を行います。まず、このようなセットアップインスタンスresource
:
resource "aws_instance" "instance_name" {
...
provisioner "remote-exec" {
script = "puppet.sh"
}
}
異なるクラウドプロバイダのaws_instance
アウトスワップAWS(アズール、DO、GCE、など)を使用していない/場合は、その後、実行し、人形をインストールするためのスクリプトを使用しますapply
またはagent
を削除し、Puppetをアンインストールします(インスタンスを管理していない場合は、クラウドにはない可能性があります)。
#!/bin/sh
# debian family example; swap out 'apt' and package names where necessary
# prep puppet
sudo apt-get update && sudo apt-get install ruby -y
sudo gem install --no-document puppet
# apply puppet
sudo puppet apply manifest.pp
# remove puppet
sudo gem uninstall -aIx
sudo apt-get remove ruby -y
sudo apt-get autoremove -y
これにはいくつかのバリエーションがあります。たとえば、Puppet Masterに対してcurl
を入力するか、Puppetlabsパッケージリポジトリに登録してPuppet AIOをインストールします。後でpuppet apply
の代わりにpuppet agent -t
を実行することもできます。これは、apply
で使用するモジュールを転送することが面倒になる可能性があるため、好ましい可能性があります。
関連する問題
- 1. 人形を使って人形マスターを管理する
- 2. 別のterraformスクリプトに1つのterraformインベントリを使用する
- 3. 人形で認証されたプロキシサーバーを使用する
- 4. 人形でカスタムdscリソースを使用するには?
- 5. IAMの役割を使用するTerraform
- 6. 人形を使用している関数でページインスタンスを使用できない
- 7. terraformを使用したterraformバックエンドの初期設定
- 8. 人形に事実の事実を使用する
- 9. 人形モジュール(ポストグラムの例)を使用する方法
- 10. 人形の/ etc/fstabにaugeasを使用する際のトラブル
- 11. 人形クライアントサーバー接続は私が人形キックを使用すると拒否されました
- 12. 人形人形を数秒待つようにする方法
- 13. vsphereでpacker&terraformを使用してインフラストラクチャを自動化する
- 14. 人形
- 15. 人形の無人アップグレードモジュールを使用してすべてのアップグレード(セキュリティだけでなく)をインストールする方法
- 16. ingress terraformルールでcidr_blockとsource_security_group_idを使用する方法
- 17. docker-composeとnginx-proxyでTerraformを使用する
- 18. Terraform - モジュールでtfvarsを使用する方法
- 19. 人形でmysql-serverをインストールする
- 20. 人形を使って相対パスでファイルをコピーする
- 21. Terraformを使用したソフトレイヤーApi認証
- 22. 人形で正しくエクスポートされたリソースを使用する方法
- 23. は、私は人形フォージから人形モジュールを使用してい傀儡モジュールを複数回
- 24. Terraformを使用してOpenStackセキュリティグループをTerraformで管理されていないインスタンスに追加する
- 25. Terraformテンプレートを雲形テンプレートに変換する
- 26. 人形マニフェストを介して人形モジュールをインストールできますか?
- 27. 複数のvariables.tfファイルをTerraformで使用できますか?
- 28. 人形STDLIB「メンバー」機能人形STDLIBモジュールのメンバ関数を使用しようと
- 29. Terraformを使用してオンプレミスサーバーをプロビジョニングできますか。
- 30. 人形ノードホスト名