web-dev-qa-db-ja.com

同じスタック+構成を複数のサーバーにデプロイする方法は?

現在、私は2つのVPSをセットアップして構成しています ほぼこれとまったく同じです 、他のいくつかのマイナーなNginx構成があります。私はそれをすべて手動で行いました

他のVPSをいくつか入手して、まったく同じセットアップと構成を展開したいのですが、どのツールを使用すればよいかわかりません。すべてのVPSにはルートアクセスとSSHが付属しています。

ServerFaultでPuppet、Cobbler、CloneZillaなどのプロジェクトについて読んだことがありますが、私が理解していることから、PuppetとCobblerは異なる目的を果たしますが、CloneZillaはこれにどのように適合しますか? CloneZillaを使用して1つのサーバーから新規インストール/セットアップのクローンを作成し、別のサーバーにデプロイし、Puppet + Cobblerを使用して将来の更新などを管理できますか?

また、これらのツールを初めて使用するユーザーにどのようなアドバイスをしますか?

  • すべてのVPSは異なる場所にあり、異なるWebサイトにサービスを提供します(まったく接続されていません)
  • 正確なセットアップ= LEMP + Varnish + WordPress [Munin + Nagios + Awstats]
5
Matt Norad

はい、あなたが提案していることは可能であり、正確にはこれらのツールを組み合わせて使用​​する目的です。 ClonezillaまたはCobblerを使用して初期インストールをプッシュし、Puppetを使用してインストール後に構成の同期を維持します。 (そして参考までに、 あなたが言及しなかったLinux用の他の人気のある構成マネージャーはChef と呼ばれます。)

Clonezillaはこれにどこにでも収まる必要はありませんが、それはやや興味深いアイデアですが、画像にあまりにも価値がないために複雑すぎる可能性があります。最初に1つのツールを使用してOSをデプロイし(Clonezilla or Cobbler)、次に1つのツールを構成マネージャーとして使用する(Puppet or Chef)ことをお勧めします。

  • Clonezillaは主に多数のクライアントマシンを同時に展開するために使用されるため、おそらくCobblerを使用します。おそらく、インターネット経由でブロックレベルのハードディスクOSイメージを新しいVPSにプッシュすることは望まないでしょう。

一般的なアドバイスに関しては...まあ、ここでは実際にはそうしません。それはあまりにも勇敢で主観的すぎてうまく適合できないので、間違いが難しい3つのことだけを取り上げます。

  1. RTM。
    • はい、これらのツールのドキュメントを読んでください。どちらを選ぶか、そしてあなたが一緒に行くものをどのように使うのが最善かを決めるための両方。

  2. 練習。
    • マニュアルを読んでも、経験に勝るものはありません。したがって、ドキュメントを読んだら、経験を積んでください。
    • 神はテスト環境を発明したので、あなたの失敗と「学習体験」はプライベートであり、本番環境をダウンさせることはありません。テスト環境を使用してこれをドライランし、プロセスと構成をダウンさせてから、ライブまたは顧客向けのものをプッシュします。

  3. 計画を立ててください。
    • この種のプロジェクトでは、初期イメージまたはネットワーク展開の構成を適切に行うことが重要です。
      • 「ゴールドイメージ」を作成し、その基準に固執します。新しいVPSを展開するときに、本番システムの1つを複製するだけでは、悪夢に見舞われることになります。

また、問題のプログラムの簡単な説明と、それらの「概要」ページへのリンクについては、それらが何であり、何に使用されているかが明確でない場合は、以下を参照してください。

Clonezilla

イメージ管理および展開プログラムです。これにより、1台のマシンのディスクイメージを取得し、まったく同じイメージを他の複数のマシンに展開できます。また、基本的な構成の変更を行い、イメージをプッシュした後にそれらの変更を自動化するためのいくつかのオプションがあります。 (たとえば、500人のユーザーマシンすべてに同じホスト名を持たせたくないなどの基本的なこと。)

通常、これは(少なくともエンタープライズ環境では)同じイメージと構成を複数のユーザーマシンに展開するために使用されるため、全員が同じデスクトップ/ラップトップイメージを持ち、ヘルプデスクの許容度が少し高くなります。

コブラー

ネットワークインストールマネージャーおよび自動化ツールです。これは、Clonezillaと同様に、インストールプロセスの自動化と標準化を支援するために使用されます。 2つの最も重要な違いは、Cobblerがディスクイメージ全体をプッシュするのではなく、ネットワークインストールを実行するためのコマンドを標準化することです。

パペット

構成管理スイートです。これは、マシン上で同じ構成を作成および維持するために使用されますafterイメージ化およびセットアップされます。

シェフ

Puppetと同様に、これは構成管理スイートです。これは、マシン上で同じ構成を作成および維持するために使用されますafterイメージ化およびセットアップされます。

7
HopelessN00b

(R)?ex も検討できます。習得が容易で、構成管理とソフトウェア展開に役立ちます。彼のノードにはSSHまたはHTTPが必要です。

1
Doka

リンクはサーバーの仕様ではなくブログを指しています...などすでにサーバーがあり、puppet/chefに移植したい場合は、青写真をお勧めします-これはpythonツールです

pip install blueprint
blueprint create -P myserver # this does puppet manifests
blueprint create -C myserver # this does chef
0
silviud