How to replace some of ESXi Kickstart automation with new configstorecli commands?
I had received a question a couple of weeks back from a customer who was already automating their ESXi installation using ESXi Kickstart, al
ESXi キックスタート自動化の一部を新しい configstorecli コマンドに置き換えるにはどうすればよいですか?
数週間前、ESXiスクリプト インストールとも呼ばれる ESXi キックスタートを使用してすでに ESXi インストールを自動化しているお客様から質問を受けましたが、まったく同じ自動化を最新の ESXi 7.0 リリースに移行する際に問題が発生しました。
お客様が ESXi パスワード ポリシーの管理に使用していた方法 ( /etc/pam.d/passwdファイルの更新による) は期待どおりに機能しなくなりました。これは、私が作成した ESXi ConfigStore の導入の結果でした。ここについて。
記事で述べたように、ESXi ConfigStore の目標は次のとおりです。
ESXi 7.0 Update 1 で最初に導入された ConfigStore の目的は、さまざまな構成ファイルを含むさまざまな方法に依存するのではなく、ESXi ホストのすべての構成を集中管理することです。
私がお客様に提供した解決策は、ESXi パスワード ポリシーを構成する現在の方法を configstorecli に置き換えて、ESXi キックスタートの自動化を維持することでした。お客様に詳細を入力しているときに、新しい configstorecli を使用して ESXi を構成する古い方法の一部を更新する方法があまり直感的ではない可能性があることに気付きました。上記のパスワード ポリシーの例であっても、実際には、正しい configstorecli コマンドと構文を理解するのに数分かかりました。
vSphere 8 では、VMware は新しいvSphere 構成プロファイルの Tech Preview をリリースしました。これは最終的に vSphere ホスト プロファイルに置き換わるものであり、これは今後のイメージ管理と構成管理の両方のための全体的な vSphere ライフサイクル管理 (vLCM) ソリューションの一部です。 ESXi。ここで取り上げる理由は、vSphere 構成プロファイルが実際に舞台裏で ESXi ConfigStorage を利用しており、特定の構成設定がどこに保存されているかを理解するのに役立つことがわかったからです。
configstorecli にはスキーマ操作があり、次のコマンドを使用して初期のトップレベル構成を確認できます。
configstorecli schema get
ただし、構成ファイルのスキーマを実際に確認するには、さらに探索する必要があり、場合によってはさまざまなコンポーネント、グループ、およびキーのそれぞれを反復処理して、探しているものを見つける必要があります。
ESXi パスワード ポリシーの例を使用すると、最終的にそれが esx->security->settings の下にあることがわかり、次のコマンドを使用してスキーマ設定にアクセスできるようになります。
configstorecli schema get -c esx -g security -k settings
これは非常に基本的な例かもしれませんが、設定を見つける前に少し試してみる必要があり、他のより複雑な設定については、確かに直感的ではないかもしれません。
vLCM で有効化された vSphere 8.0 クラスタを利用し、ネストされた ESXi VMを接続することにより、vSphere 構成プロファイルのいくつかの優れた機能を活用して、configstorecli で使用できる構成構造を理解することができました。
オプション 1 - vSphere 構成プロファイル内のコンプライアンスビューを使用します。これを行うには、ネストされた ESXi ホストに必要な変更を加えるだけです (ネストされた ESXi を使用すると、実際の ESXi ホストへの影響を心配せずに調査し、その結果を実際のセットアップに適用できることも意味します)。同じパスワード ポリシーの例を使用し、ESXi ホストを含む vSphere クラスタを選択し、[構成] -> [望ましい状態] -> [構成] -> [コンプライアンス]に移動すると、望ましい状態とは異なるさまざまな設定を下にスクロールできます。
ESXi パスワード ポリシー設定は、実際には /profile/ esx / security / settings にあり、それぞれconfigstorecli のコンポーネント、グループ、キーにマッピングされている ことがわかります。
オプション 2 - vSphere 構成プロファイル内の[設定]ビューを使用して、完全なホスト スキーマまたはホスト構成をエクスポートします。これを行うには、ネストされた ESXi ホストに必要な変更を加えるだけです (ネストされた ESXi を使用すると、実際の ESXi ホストへの影響を心配せずに調査し、その結果を実際のセットアップに適用できることも意味します)。同じパスワード ポリシーの例を使用し、ESXi ホストを含む vSphere クラスタを選択し、[構成] -> [望ましい状態] -> [構成] -> [設定] に移動します。次に、3 つの点のボタンをクリックすると、参照ホストから抽出するか、構成スキーマをエクスポートするという 2 つのオプションが表示されます。生のスキーマの内容を単に見るよりも、行った設定の変更を簡単に特定できるため、個人的には前者をお勧めします。
JSON ドキュメントの残りの部分を折りたたんでみました。ご覧のとおり、結果はオプション 1 と同じです。ESXi パスワード ポリシー設定は、実際には /profile/esx/security/settings にあり、それぞれコンポーネント、グループ、キーにマッピング されています。 configstorecli内。オプション 2 を使用するもう 1 つの利点は、実際の構成可能なパラメーターとそのそれぞれの値も確認できることです。これは、必要な変更を行うために必要なものでもあります。
ESXi パスワード ポリシーを管理するための正しいコンポーネント、グループ、キーを特定したので、configstorecli を使用して目的の構成を適用できるようになります。configstorecli を使用したファイル操作の場合、「 set 」操作を使用してすべての構成を置き換えるか、「 update 」操作を使用して構成のサブセットを変更できます。
configstorecli を使用してすべての構成可能なパラメーターを抽出する 1 つの方法は、次のコマンドを実行して現在の構成を取得することです。
configstorecli config current get -c esx -g security -k settings
新品の未構成の ESXi ホストがある場合 (特に、ネストされた ESXi VM を使用している場合)、出力は表示されません。その理由は、図に示すように、構成がシステムのデフォルト値と異なっていないためです。以下のスクリーンショット。
代わりに、次のコマンドを実行してデフォルト構成 を取得することで、構成可能なパラメーターをすべて抽出できます。
configstorecli config default get -c esx -g security -k settings
すべての構成 を置き換える場合は、JSON 出力をファイルに保存し、必要な編集を行ってから、次のコマンドを実行して変更を適用するだけです。
configstorecli config default get -c esx -g security -k settings > current.json
configstorecli config current set -c esx -g security -k settings -i current.json
構成のサブセットを置き換える 場合は、必要な JSON ファイルを保存または作成し、必要な編集を行ってから、次のコマンドを実行して変更を適用します。
configstorecli config default get -c esx -g security -k settings > current.json
configstorecli config current update -c esx -g security -k settings -infile current.json
current.json ファイルの内容には 1 つのエントリしか含まれていないことに注意してください。そのため、作成/更新するファイルが有効な JSON ファイルであることを確認してください。不明な場合は、https://jsonlint.com/ などの JSON lint ツールを通じて実行できます。