vSphere Auto Deploy を使用して、カスタム スクリプトを vSphere Auto Deploy ルールに関連付けることで、1 台以上のホストを構成できます。
スクリプトは、ホストの最初の ESXi の起動ワークフロー後に、アルファベット順に実行されます。
前提条件
- vSphere Auto Deploy ルールに関連付けるスクリプト バンドルの形式が .tgz で、最大サイズが 10 MB、Python または BusyBox ash スクリプト言語で記述されていることを確認します。
手順
- PowerCLI セッションで Connect-VIServer コマンドレットを実行し、vSphere Auto Deploy が登録される vCenter Server システムに接続します。
Connect-VIServer ipv4_or_ipv6_address
この コマンドレットはサーバ証明書の警告を返す場合があります。本番環境では、サーバ証明書の警告が表示されないことを確認します。開発環境では、この警告は無視できます。
- Add-ScriptBundle コマンドレットを実行して、必要なスクリプトを含むスクリプト バンドルを vSphere Auto Deploy インベントリに追加します。
Add-ScriptBundle c:/temp/MyScriptBundle.tgz
.tgz 拡張子を持たないスクリプト バンドルの名前は、スクリプト バンドル項目の名前識別子またはオブジェクトです。
Add-ScriptBundle コマンドレットと
-Update パラメータを使用して、既存のスクリプト バンドルを更新できます。
- (オプション) Get-ScriptBundle コマンドレットを実行して、スクリプト バンドルが vSphere Auto Deploy インベントリに追加されていることを確認します。
- IP アドレスの範囲などの特定の属性持つホストを、スクリプト バンドルに割り当てるためのルールを定義します。
New-DeployRule -Name "testrule4" -Item "MyScriptBundle" -Pattern "vendor=Acme,Zven", "ipv4=192.XXX.1.10-192.XXX.1.20"
名前にスペースが含まれる場合は二重引用符の使用が必須ですが、それ以外の場合は任意です。項目をすべてのホストに適用するには、パターンの代わりに -AllHosts を指定します。
testrule4 という名前のルールを作成します。このルールは、My Script Bundle という名前のスクリプト バンドルを、Acme または Zven というベンダーの、指定された範囲内の IP アドレスを持つすべてのホストに割り当てます。スクリプト バンドルの名前識別子、または
Get-ScriptBundle コマンドレットによって返されたオブジェクトを使用して、ルールに関連付けるスクリプト バンドルを識別できます。
- ルール セットにルールを追加します。
デフォルトでは、ルールは作業ルール セットとアクティブなルール セットの両方に追加されます。
NoActivate パラメータを使用すると、作業ルール セットはアクティブなルール セットになりません。
次のタスク
- vSphere Auto Deploy ですでにプロビジョニングされたホストについては、コンプライアンス テストおよび修復を実施して、新しいスクリプトでそれらのホストがプロビジョニングされるようにします。ルールのコンプライアンスのテストおよび修復を参照してください。
- プロビジョニングされていないホストを起動し、新しいスクリプトを使用してそれらのホストがプロビジョニングされるようにします。