環境とプロビジョニング プロセスによっては、可能性があります VMware テンプレートと テンプレートからクローン を使用するよりも、新しく構築する方が高速です
私は大規模な Linux 中心の VMware 環境で働いていましたが、そこでは展開プロセスが本来あるべきほど自動化されていませんでした。 RHEL システムの vSphere テンプレートに依存していましたが、最初のクローンの後にかなりの手作業が必要でした。
テンプレートの利点:
- テンプレートは、他のアプリケーション、構成設定、および構成管理の範囲を超えたものをテンプレートに焼き付ける場合に適しています。 (例:複雑な Oracle アプリケーション スタック )
- クローン作成時間は、ストレージと vSphere インフラストラクチャの関数です。非常に遅く、リソースを大量に消費する複製ジョブが発生するのを見てきました。
- たとえば、Red Hat/CentOS/Debian/Ubuntu を使用している場合、
sys-unconfig
を利用できます。 テンプレート化の前にシステムを「構成解除」するコマンド。これは、Microsoft のSysprep
に相当する Linux です。 ネットワーク インターフェース ルール、SSH キー、ネットワーク設定などを削除します。 - VMware の IP 割り当てツールは問題なく、主流の Linux オペレーティング システムでもそれほど問題にはなりませんでした。
PXE/キックスタート展開の利点:
- ローカル リポジトリとネット ブート イメージがあると仮定すると、通常はテンプレート作成/クローン作成よりも高速です。
- テンプレートから VM への変換、変更、再変換、クローン作成のサイクルなしでイメージ/マスターに変更を加えることができるという点で、より柔軟です。
- 構成管理ソリューションと組み合わせると最適です。
最終的には、アプリケーションと、最初の OS インストール後にどれだけの追加作業が必要かによって異なります。私は、最も複雑なインスタンスにはクローンを使用し、日常的なシステムにはプロビジョニング システムを介して新しいビルドを使用する、ハイブリッド アプローチを採用しました。相互に排他的ではありません。
詳細はディストリビューションによって異なりますが、テンプレートを作成する際に覚えておくべきいくつかの CentOS/RHEL の事項を紹介します。
/etc/ssh/
のキーを削除します- SUBSYSTEM を削除します
/etc/udev/rules.d/70-persistent-net.rules
の行 NIC を参照する
どちらも初回起動時に再生成されます。
テンプレートを展開した後、何らかの方法で更新を実行する必要があります。
vSphere では、ネットワークとホスト名を定義できます。 Puppet ユーザーとして、標準の puppet.conf
とともにテンプレートに Puppet クライアントをインストールするだけです。 .複数の環境を使用している場合、実際には環境ごとに異なるテンプレートが必要です。
テンプレートを変更するときは、上記のファイルを忘れずに削除する必要があります。
個人的には、テンプレートからデプロイする方がわずかに高速ですが、より柔軟であるため、とにかく PXE からプロビジョニングすることを好みます.