0

したがって、私の目標は、cloudformationを使用してクラウドでたとえば100ノードを起動することであり、knifeを使用する代わりに、cloudformationスクリプト内でシェフの役割でノードにタグを付けたいと思います。クラウドフォーメーションノードを自動的にシェフサーバーに登録するように設定しました。シェフサーバーが各ノードに適切なクックブックをインストールするように、シェフサーバーにそれらの役割を報告します(ノードの役割に応じて)。これはknifeで可能ですが、cloudformationスクリプト内にノードの役割を埋めたいと思います。

どうすればいいですか?

4

2 に答える 2

0

私はシェフと一緒にこれを行います。私は通常、マシンが使用する必要があるロールを記述した json ファイルを S3 に配置します。S3 バケットにアクセスできる CloudFormation で IAM ユーザーを作成します。次に、ユーザー データ スクリプトで、まず S3 からファイルを取得してから、chef-client -j /path/to/json/file を実行します。ノードが自分自身を登録できるように、検証キー fwiw でも同じことを行います。

HTH

于 2012-11-30T19:37:32.013 に答える
0

私は Puppet を使用していますが、これはもちろん Chef とは少し異なりますが、同じ理論が当てはまるはずです。新しいインスタンスを起動するときに (CloudFormation 経由でも) JSON オブジェクトをユーザー データとして送信し、Puppet でこのデータにアクセスして動的構成を行います。

Puppet はこの多くを自動的に処理します。たとえば、FACTOR_EC2_USER_DATA 環境変数が自動的に設定されるため、JSON を $role や $environment などの変数に解析するだけで済みます。この時点で、インスタンスのロールを動的に決定できます。割り当てる必要があります。

したがって、Chef 内でユーザー データにアクセスする方法を見つけることができる限り、同じアプローチが機能するはずです。

于 2012-11-29T13:10:39.937 に答える