タグ付けされた質問 「provisioning」

7
シェルスクリプトではなくChef / Puppetを使用する理由
PuppetおよびChefツールの新機能。彼らがやっている仕事は、シェルスクリプトでできるようです。これらが登場するまで、シェルスクリプトで行われたのかもしれません。 それらがより読みやすいことに同意します。しかし、読みやすいだけでなく、シェルスクリプトに勝る他の利点はありますか?


7
FLOSSサーバー管理および監査ツール
ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 HPのサーバーオートメーションツールスイートを長い間使用してきましたが、それは素晴らしいツールですが、小規模ビジネスやホームネットワークでは使用するには多すぎます(正確には、大企業に比べてコストが高すぎます)金銭的な余裕がある)。 プロビジョニングと監視のためのPuppetとOpenNMSにある程度精通しています。ただし、他の情報をグーグルで調べた後は、管理ツールを維持するための労力をあまりかけずに使用できるほど成熟した管理ツールがあまりないようです。 以下を管理するための他のFLOSSツールはありますか(商業的にサポートされています)。 サーバーのプロビジョニング パッチ管理 ソフトウェアパッケージプッシュ 等 拡張 ネイティブプロビジョニングとの統合は問題ありません(キックスタート、ジャンプスタート、オートヤスト、unattend.txt、winpeなど) ある種のGUIはいいでしょうが、必須ではありません たとえば、OSプロファイルをセットアップして、できればホスト名、IPなどのプロセス中に入力されるフィールドを備えたX-manyデバイスに出荷できるようにしたい エージェントベースの方が非エージェントベースよりも望ましい(つまり、パッケージおよびパッチ管理にpsshのようなものを使用できることはわかっているが、エージェント/証明書認証ではなく事前共有キーが必要) Nagios、OpenNMS、または同様のものに結び付けることができるのは素晴らしいことです。そのため、既知のポート、プロセス、SNMPデータは素晴らしいでしょう。 仮想化のサポートは本当に役立ちますが、VM を作成できなくてもかまいません。データを入力/プロビジョニングするだけです。 この質問に対する答えが「ここにソリューションの一部であるツールの束があります」であることが判明した場合、私は私自身の使用のためにある種のラッパーを作成したいと思います。

3
ホスト間でSSH公開鍵を配布する
私はAnsibleでいくつかのマシンをセットアップしていて、それらの間のパスワードレス接続を有効にする必要があります。データベースマスターといくつかのスレーブがあります。最初のレプリケーションでは、スレーブはマスターにSSHで接続し、データベースのコピーを取得する必要があります。すべてのスレーブの公開鍵をマスターauthorized_keysファイルに動的に追加するための最良の方法は何ですか。 スレーブの公開鍵を変数として提供し、authorized_keyモジュールを介してそれらを追加することをすでに考えました。しかし、私はキーのリストを維持する必要があります。スレーブグループをもう1つホストに追加するだけで、残りのホストが自動的に機能するアプローチを探しています。 何か案は? 更新: これまでのところ、私は次の擬似コードを取得しました: # collect public keys from slave machines - name: collect slave keys {% for host in groups['databases_slave'] %} shell: /bin/cat /var/lib/postgresql/.ssh/id_rsa.pub register: slave_keys #how to add to an array here? {% endfor %} # Tasks for PostgreSQL master - name: add slave public key sudo: …

4
スクリプト内でのmysql bind-addressの変更
シェルスクリプトからmy.cnfのmysql bind-addressを変更する最良の方法は何ですか?mysqladminのようなツールを使用する方法はありますか、またはsedを使用するか、それを単にmy.cnfに追加して、2番目のエントリが最初のエントリを上書きすることを望みますか(これは具合が悪いようです)。mysql-serverのインストール後に実行され、vmの外部からの接続を許可するvagrantの単純なシェルプロビジョナーを作成しようとしています。

4
仮想マシンを使用したシンプロビジョニングに対するストレージのシックプロビジョニングの利点
私は典型的には、薄いプロビジョニング仮想マシンを構築する際にストレージ容量の使用:それは多くの柔軟性を提供し、思わ速くビルドにします。 私が見ることができる唯一の潜在的な明確な利点は、VMが基盤となるストレージインフラストラクチャの利用可能なスペースを誤って使い果たすことがないことを確認することです-他にありますか?

4
PXEの代わりにLinuxサーバーのプロビジョニングにVMwareのテンプレートとクローンを使用することの影響
VMwareのテンプレートを使用して新しいVMを作成すると、速度が向上するようです。ただし、セキュリティと柔軟性の影響がそれほど明白ではない可能性について懸念しています。たとえば: 初回起動時に生成されたキー サーバー設定を構成するVMware独自の方法(IP、ホスト名など) ほとんどがVMwareで、ほとんどのLinuxがRHELベースのディストリビューションであるショップで、テンプレートからプロビジョニングするときに落とし穴に遭遇した人はいますか?クローン作成時の懸念はどうですか? ところで、初期のプロビジョニング方法に関係なく、それは主にPuppetの残りの構成のブートストラップとして使用されます。

3
存続期間の短いプライベートVMのテクノロジー
ソフトウェアコンポーネントの有効期間が短い(CIとテストビルド)を実行するシステムを構築しようとしています。それは、それぞれがプライベートホストに存在するという私の要件によれば必須です。準仮想化オプションも含めるように定義しています。頭痛が大幅に軽減されるようです。 私はMacで作業しているので、ほとんどすべてのテクノロジーが使用できなくなり、libvirtやquemuなどが機能しなくなります。ただし、Debianへの展開を計画しています。そのため、ホストマシンとゲストドメインのプロビジョニングをスクリプト化できれば、Debianで実行されるものはすべて元に戻ります。 私の意図したセットアップは、Debianインストーラーをブートストラップするために使用できることでした。つまり、ブート時にマシンが自動的にプロビジョニングされることを意味します(Chef、Puppet、Babushka、問題ありません)-そのプロビジョニングの一部は、コンテナの起動に使用できるテンプレートrootfs。コンテナー自体もプロビジョニングする必要があります。これにより、コンテナーが起動したときに、コンテナーが実行する必要がある作業を認識し、その作業を実行して終了できます。 要するに、ここに私が必要とするワークフローがあります: マシンを(仮想またはその他の方法で)ブートし、作業を行う準備をします。 作業は、chef / puppet / babushka / etcによってインストールされたスクリプトによって実行される必要があります 作業が始まると、作業を行うために仮想マシンを起動する必要があります。 VMは作業を行い、終了し、そのリソースを親/ホストマシンに解放します。(妥当なハードウェア上でこれを少なくとも数百のゲストVMに拡張することが重要です) 私は次のことを試して、以下に示す理由のためにそれらを放棄するようになりました: ホストマシンの場合 InstalinuxのプレシードDebianマイクロISOイメージ(LinuxCOEがサポートされている)(悪い: まったく機能しなかった(「カーネルモジュールが見つかりませんでした」(InstalinuxイメージがFTPリポジトリと同期していないため、このソリューションは非常に壊れやすいため、また、インストール後、既知のSSHキー、ホストキーなどをマシンにドロップするためのスコープをあまり許可していません。ファイアアンドフォーゲットのようです。結局、実行中のマシンがありますが、アクセスできません。。) プレシードDebian netinst ISO(悪い:上記と同じ問題。ただし、ISOとFTPリポジトリの間にカーネルの相違がないため、通常はインストールが完了します。インストール後の範囲はまだ限られています。 良い:絶対に確実で再現性があり、 MacやベアメタルマシンのVMテクノロジスタックで簡単にスローできればどこでも機能しますが、十分にポストインストールできません) rootfsのを構築し、ブート可能なハードディスクイメージとしてそれをコンパイルする様々な方法が(悪い:少し私は作業は地獄のように壊れやすいし得ることができますどのような、実際のマシン上にインストールすることは困難であり、複雑なビルドプロセスであるだろう。 良い: もし私はそれを機能させることができました、これはマシンをsshキー、ホストキー、ホスト名、Gitからインストールされたソフトウェア、およびその他のもので指定された仕様に事前設定するための最も広い範囲を提供するようですが、問題はどのようにパッケージするかです配布用、またはレクリエーション用のスクリプトの作成方法。) 正直なところ、VMを何もない状態から実行中の機能している有用なシステムにするために人々がどのようなテクノロジを使用することが期待されるかはわかりません。私には3つのステップのように思えますa)オペレーティングシステム、b)システム構成(ユーザーなど)、そしてc)ファイルシステムの変更。 ゲスト(仮想)マシンの場合: 多くのこと、私はここでの答えは、で作成された読み取り専用のrootfsとdebootstrap、この特定のインスタンスに対して実行される作業(ジョブマニフェスト)を含むLXCコンテナー上の特別なパーティションであると思います。OSの構築、起動、ユーザーの作成、gitからのソフトウェアのチェックアウト、および作業の実行に関する通常の注意事項をすべて挿入します。 どのツールに手を伸ばせばよいのか本当にわからないのですが、問題は十分に解決されているようです。しかし、どこから始めればいいのかわかりません。 ほとんどの人は、ホストマシンについて、仮想化テクノロジを選択し、マシンを起動して動作状態にしてから、スナップショットを作成するように提案しているようです(libvirtは、このための論理的なお気に入りのようです)。スナップショットを使用して、後続のインストールをテスト用に、または本番環境で起動します。 ゲストマシンでは、lxcが最も簡単なオプションを提供しているようですが、コンテナのバックグラウンド化と、コンソール経由でのコンテナへの接続が現在のすべてのカーネルで壊れており、安定版のDebianで利用できるlxcの最新バージョンは18か月以上前のものです、そして広く使用されている多くの機能が不足しています。 通常、私はアプリケーション開発者であり、サーバーレベルのテクノロジを使用することはあまりありません(そして、SFがこの質問に「主観的すぎる」とフラグを立てることは確かです)が、どのツールに到達すればよいかは本当にわかりません。 最後の言葉は、このためにVagrantボックスを使用している1つの同様にスタックされたプロジェクト(travis-ci.org)を知っているということです。重要なサービスインフラストラクチャに使用されているテストVMの小規模なデスクトッププロビジョニング用に設計された、かなり鈍い道具、大きくて遅い、ルビー指向のツールのように見えますが、私はそれらの人の一部も知っており、私よりも賢いです、多分彼らはただあきらめた 助けてくれてありがとう。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.