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

Puppetは、独自のドメイン固有言語を備えた構成管理ツール(UnixおよびWindows)です。

6
Puppetを使用したアプリケーションのデプロイメント
私はPuppetを初めて使用し、* nixシステムを長年使用してきましたが、sysadminとしても、opsとしても働いたことはありません。 現在、一連の(PHP / MySQL / MongoDB、git内のコード)WebアプリケーションをホストするためのPuppetマニフェストを作成しています。各ホストに仮想ホストを設定するため、Puppetが実際のアプリケーションについてある程度の知識を持っている必要があることは明らかですが、Puppetがコードのデプロイやデータベースの作成などを管理する必要があるかどうかはわかりません。 Puppetはアプリケーションのデプロイメントに適したツールですか?そうでない場合、より適切なツールを推奨できますか?

1
systemdサービスでのホールドオフ時間の意味は何ですか?
CentOS 7にPuppet Enterpriseをインストールしました。いくつかのPuppetサービスがホールドオフ時間の終了を伝えられないことがわかります。これは何を意味するのでしょうか? Sep 03 20:50:16 l-pm1 systemd[1]: pe-puppetdb.service holdoff time over, scheduling restart. Sep 03 20:50:16 l-pm1 systemd[1]: Starting pe-puppetdb Service...
10 puppet  systemctl 

1
なぜr10kはr10kと呼ばれるのですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? サーバー障害のトピックになるように質問を更新します。 3年前休業。 しばらくr10kを使っています。r10kとはどういう意味ですか。 ご質問 ツールがr10kと呼ばれるのはなぜですか?それはどこの略ですか? 質問に答える試み Puppet docsもインターネットも、r10kが何を表すのかを示していません
9 puppet  r10k 

2
AWSでDocker / AnsibleとAnsible、Puppet、Foremanを使用した不変サーバーモデル?
私たちは興味深い議論にぶつかり、2つの陣営に陥っています。見落としている可能性のあるアイデアや落とし穴に関する特定の問題に興味があります。本当に、私たちが決定を下したり、私たちが説明していないことを指摘したりするのを助けることができるものは何でも。私はこれが「意見なし」のルールを少し厳密に回避していることを知っていますが、それでもまだ受け入れ可能な質問であることを願っています。長さについても申し訳ありませんが、かなりのニュアンスがあります。 1)一方(私-偏見がないわけではない)は、不変サーバーモデルがクラウドシステムにとって非常に興味深いものであると考えています。そのために、インフラストラクチャのすべてのコンポーネントをDockerに移動するプロトタイプを作成しました。私たちのカスタムアプリケーションは、ローカルDockerレジストリにデプロイするDockerイメージに、Jenkinsを介して直接構築されます。次に、Ansibleロールの大規模なセットと、空のサーバーに到達できるプレイブックを作成し、Dockerをインストールして、必要に応じてすべてのコンテナーをインストールするようにDockerに指示しました。数分後、アプリ全体とそれをサポートするすべてのインフラストラクチャが接続され、機能します-ロギング、モニタリング、データベースの作成/入力など。完成したマシンは、完全にコピーされた自己完結型のQAまたは開発環境です応用。これをスケールアウトするための計画は、新しいPlaybookを作成して、ベースの信頼できるAMI(おそらく非常に最小限のイメージ)から新しいAWSサーバーを構築し、本番アプリケーションのローリングデプロイを実行して構成管理とリリースを処理し、通常はサーバーを再び編集しないことです。それらを新しくするだけです。私が説明したものを実際に機能させることについては心配していません-それが妥当なモデルである場合でも。 2)他のキャンプは、Puppetを使用して構成管理を処理したい、Ansibleはビルドプロセスから生成されたtarballであるカスタムアプリケーションをデプロイし、Foremanはプロセス全体のトリガーと管理を処理し、Kateloはある程度のベースを実行したい画像管理。リリースには、必要に応じてPuppetが構成を変更し、Ansibleが更新されたコンポーネントをある程度のForemanの調整でデプロイすることが含まれます。新しいサーバーが必要になった場合、サーバーはかなり迅速に構築されますが、その意図は、標準プロセスの一部としてサーバーを使い捨てにすることではありません。これはフェニックスサーバーモデルに近いですが、長寿命です。 だから私の質問は本当にこれに帰着します:私が上でそれらを説明したように、ツールを備えた不変のサーバーモデルは実際にそれが現れるのと同じくらい現実的ですか?私のステージングプロセスは、文字どおりアプリケーションのクローン全体をライブで構築することができ、QAでそれをハンマーに任せて、データベースストレージとDNS設定を反転させてライブにすることができるというアイデアが大好きです。 または、不変サーバーモデルは実際には失敗しますか?AWSとクラウド環境の両方でかなりの経験を持っているので、それは本当に問題ではありません-合理的に洗練されたアプリを今後確実にデプロイする方法の問題です。非常に頻繁にリリースされるため、これは特に重要です。 実際にEC2サーバーを作成することを除いて、Ansibleは必要なほとんどのことを行っていますが、それは難しくありません。このモデルでパペット/フォアマン/カテロが実際に必要な理由を理解できません。Dockerは、私が知ることのできる実際のツールでは、カスタムデプロイスクリプトよりもはるかにクリーンでシンプルです。Ansibleは、その場で構成する必要がないか心配する必要がなくなり、新しい構成で再構築するだけの場合、Puppetよりもはるかに簡単に使用できます。私はKISSプリンシパルのファンです-特にマーフィーの法則が蔓延している自動化で。機械が少ないほど、IMOは向上します。 アプローチについての考え/コメントまたは提案は大歓迎です!

1
Mesos導入の最良の基盤
現在、新しいApache Mesosクラウドセットアップのアーキテクチャを設計しています。目標は、異なるスタックを同じアーキテクチャに移動することでシステムを統合することです。主なワークロードは、Apache Sparkを使用したビッグデータ分析と、Webサーバー、メールサーバーなどの企業インフラストラクチャです。 アイデアは、Mesos(Marathon / Chronos、AuroraまたはSingularity)で使用可能なスケジューラーの1つで実行されているDockerコンテナーでWebサービスを実行することです。したがって、これは最初のMesosフレームワークグループになります。その隣に、Apache Sparkフレームワークとデータストレージ用のいくつかのデータベースフレームワークがあります。これはMesosフレームワークの2番目のグループになります。テストのためにすべてを並行して実行した後、詳細を選択します。 ただし、Mesos自体を実行する基準を決定するのは困難です。理想的には、できる限り金属の近くで実行する必要があります。また、オーケストレーションソリューションを使用して、Mesosおよびフレームワークデーモンが常に障害時に実行/再起動されるようにします。検討しているオプションは次のとおりです。 1)Mesosとフレームワークを最小限のOSでDockerコンテナーとして実行する。この点で、私たちは現在、CoreOSとFleetに傾いています。 2)Ubuntu / DebianサーバーでMesosとフレームワークを直接実行します。このオプションでは、フォアマンとパペットに傾いています。 質問については、重要な順に、次の解決策を特定しようとしています。 構成するのが最も簡単です 維持および更新を維持するのが最も簡単です オーバーヘッドが最も少ない これまでにCoreOSを使用したことはありませんが、私たちが向かっているように見えるオプションです。私がこれに関して抱えている大きな(主観的な)問題の1つは、DockerコンテナーでMesosを実行してから、MesosでDockerコンテナーを実行することです。これは「不潔」で間違っているようです。これはメリットのない考慮事項ですか? 同様の考え方は、レイヤー間の冗長性にも関係しています。私がどこから来たのかを説明するために、Mesosが金属の上で実行される実際のOSであるなら、私は好むでしょう。使用する基盤に関係なく、アーキテクチャの複数の層(つまり、CoreOS&Fleet&SystemD == Mesos&Marathon&Chronos)で同じ意図された機能が得られるようです。これは避けられませんか? 基準を考慮して、検討に失敗したMesosの下のレイヤーを実行する他の良いオプションはありますか?

1
Vagrantは実行するPuppetマニフェストのディレクトリを指すことができますか?
私はVagrantを使用していくつかの初期Puppet構成をジャンプスタートし、追加マニフェストをモジュールに作成してそのように含めることなく、複数のマニフェスト(site.pp以外)をパペット実行ワークフローに含める/実行する方法について混乱しています。 Vagrantがポイントするパペットマニフェストディレクトリ(以下を参照)には、実行したいマニフェストが2つあります:site.ppとhierasetup.pp。 config.vm.provision "puppet" do |puppet| puppet.manifests_path = "puppet_files/manifests" puppet.module_path = "puppet_files/modules" puppet.manifest_file = "site.pp" puppet.options = "--verbose --debug" end 現在、site.ppをhierasetup.ppを呼び出すマニフェストにしています。私のsite.ppは次のようになります: File { owner => 'root', group => 'root', mode => '0644', } import "hierasetup.pp" include jboss しかし、「インポート」の廃止について次のエラーが表示されます。 警告:「インポート」の使用は、/ tmp / vagrant-puppet-1 / manifests / site.pp:33で廃止されました。http://links.puppetlabs.com/puppet-import-deprecationを参照してください (grammar.ra:610:in `_reduce_190 'にあります) 「代わりに試すこと」の下で参照されているURLによると、「ノード定義を個別のファイルに保持するには、メインマニフェストとしてディレクトリを指定してください」とあります。 …
9 puppet  vagrant 

6
PuppetまたはChefは、マルチテナント環境で非常に基本的なサーバー構成を管理するのに適していますか?
これは、小規模なホスティング会社などのマルチテナント環境に関連しています。 Puppet(または類似の)は、基本的だが重要な質量変更を処理するための適切なテクノロジーですか?例えば: DNSリゾルバーの更新(resolv.conf) SSHキーの設定 NTP構成の更新 snmpdの構成 SNMP Perl拡張やNagiosスクリプトなどの監視スクリプトのデプロイ 私の懸念はセキュリティと侵襲性に関するものです: どのサーバーにも表示してはいけない設定を表示できないようにしたい Puppetマスターが侵害されたサーバーによる攻撃に対して脆弱である可能性があることを心配しています Puppetにしてはいけない変更を加えたり、サーバーで手動で行った変更を元に戻したりしたくありません。 私はPuppetを本番環境で使用したことがなく、テストラボですぐに試してみただけなので、これを警告する必要があります。そのため、これを間違った方法で考えている可能性があります。
9 puppet 

1
Puppet:(多数の)Apache VirtualHostの管理
私は一般的に構成管理と、特にそれを実装するためにパペットを使用して自分の方法を学んでいます。私はすでにいくつかの一般的な調査(SFについても)を行っており、現在はApache VirtualHostsを検討しています。 私たちは、多くのホストLAMPの二つのシステム上で(それが及ぶ何百もの現在だ)のウェブサイトを:Apache2の / mod_phpを 1とMySQLの 1 -基本的に反対の別の質問がすでにSF上、彼はいくつかのバーチャルホストでのサーバーの多くを管理する各(もし実際には1つではありませんが、わかりません)。私はまだパペットで動作する設定をまとめていませんが、問題はないはずです。そこには多くの 例とレシピがあります。 明らかなapache構成ファイルに加えて(ここでは問題ないと思います)、すべての仮想ホストでいくつかのディレクトリを作成し、権限をチェックする必要があります(たとえば、ドキュメントルートを含む各仮想ホストのルートディレクトリ、専用のtmpディレクトリ、専用のphpセッションファイルdir、場合によってはSSL証明書など)、およびサーバー+ユーザーとMySQLサーバー上の1つ以上のデータベース。 新しいvhostを追加するには、puppetがそれらを作成する必要があり、1つを削除すると、puppetがユーザーデータをバックアップして2つのサーバーからライブデータを削除するスクリプトを実行する必要がありますが、実行されるそれぞれのpuppetエージェントは、ディレクトリ、db、権限など 何百もの仮想ホストに移動して、すべてのパペット実行、特にファイルシステムのチェック(Webサーバー上)ですべてのチェックを実行するとき、特に将来システムがさらにロードされるとき、私は問題を求めていますか?(1000から2000のWebサイトの範囲をサーバーあたりの妥当な最大値としてターゲットするとします)。 ネットでそれをした経験はありますか?私はグーグルで検索しましたが、何も見つかりませんでした。「パペット」と「アパッチ」を検索すると、信号/ノイズ比が低いためです...

1
パペットでsystemdのインスタンス化されたサービスを有効にする方法は?
次のパペットサービスがあります。 service { "getty@ttyUSB0.service": provider => systemd, ensure => running, enable => true, } この構成をクライアントに適用しようとすると、次のエラーがスローされます。 エラー:/Stage[main]//Node[puppetclient]/Service[getty@ttyUSB0.service]/enable:falseからtrueに変更できませんでした:getty@ttyUSB0.serviceを有効にできませんでした: サービスは正常に実行されており、getty.target.wantsにシンボリックリンクを追加することで、システムの起動時にサービスが開始されていることを確認できます。 ln -s /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttyUSB0.service ソースについては、先に進んでサービス定義から「enable => true」を削除し、手動でシンボリックリンクをパペット構成に含めることができますが、パペットがこれを処理するべきではありませんか?私はひどく悪いことをしていますか?
9 puppet 

1
同じクラス/モジュール/ whatevereveritisが複数回
人形は私を憎むに違いない。私は何時間もドキュメントを読んでいますが、それでも次のことを達成することができません: 変数が含まれているクラスまたはモジュール(またはその名前)(パラメーター化されたクラス?) このクラスは、単一のホストに複数回含まれます。 疑似コードでは、次のようになります。 # The class classorwhatever myclass ($value) { notify { "$value world" } } # In the node definition node whatever { myclass("Hello") myclass("Goodbye") } 馬鹿げていると思っても面白くない。私はそれが実行可能でなければならないことを知っています。しかし、どうやって?:(
9 puppet 

1
ユーザーの作成時にパペットにパスワードのみを設定させるにはどうすればよいですか?
Puppetがパスワードを管理する(つまり、パスワードが変更されたときにリセットする)のではなく、Puppetがユーザーを作成するときに初期パスワードを設定するようにしたい。 パスワードを設定notifyするExecリソースに対してを実行することを考えていましたが、これは、Puppetが管理するプロパティ(グループメンバーシップ、ホームディレクトリなど)が変更されたときにトリガーされます。それは欲しくない。 何か案は?

2
Puppetを使用してUbuntuにopen-vm-toolsをインストールします。小悪は何ですか?
理想的な世界では、をインストールするためのパペットの設定open-vm-toolsは次のように簡単です: class vm-tools { package { 'open-vm-tools': ensure => installed } package { 'open-vm-dkms': ensure => installed } } しかし、それは依存関係の醜い醜い缶を開きます。Xをインストールしますが、これは明らかにサーバーには属していません。Ubuntu 10.04以降、これらのパッケージはどちらもopen-vm-toolboxGUIツールのパッケージを推奨しています。 # apt-cache depends open-vm-dkms open-vm-dkms Depends: dkms Depends: make Suggests: open-vm-toolbox Recommends: open-vm-tools # apt-cache depends open-vm-tools open-vm-tools Depends: libc6 Depends: libfuse2 Depends: libgcc1 Depends: libglib2.0-0 Depends: libicu44 Depends: …

2
サーバーのエラー400:環境は「puppet-ca」ではなく、純粋に英数字でなければなりません
私はこれに1日の無駄があるので、この間違いを共有したいと思います。だから私は他の人に役立つかもしれないと思う 私の同僚のインフラストラクチャチームによるパペットサーバーのセットアップがあります。彼らは私にパペットエージェントを自分でインストールするための別のウィンドウ2008 r2を提供します。 パペットエージェントを実行しようとすると、常にメッセージが表示されます サーバーのエラー400:環境は「puppet-ca」ではなく、純粋に英数字でなければなりません

1
PuppetまたはMCollectiveでローリングOSのアップグレードと再起動をデプロイするにはどうすればよいですか?
インフラストラクチャの定期的なローリングアップグレードを実行する最良の方法を探しています。 通常、これには、各ホストで一度に1つずつこれを行う必要があります。 sudo yum update -y && sudo reboot しかし、私はそれがスケーラブルであることの限界に達しています。 各ロール内で一度に1つのノードのみを再起動したいので、たとえば、すべてのロードバランサーまたはDBクラスターメンバーを同時に停止することはしません。 理想的には、私は次のようなことをしたいです: for role in $(< roles_list.txt) ; do mco package update_all_and_reboot \ --batch 1 --batch-sleep 90 \ -C $role -F environment=test done しかし、それはまったく存在しないようです。「シェル」エージェントを使用するのが最善の方法かどうかもわかりません。 mco shell run 'yum update -y && reboot' \ --batch 1 --batch-sleep 90 しかし、私はこの仕事のために間違った種類のツールを見ているだけですか?この種のローリングリブートを管理するためのより良い何かがありますが、Puppetが割り当てたロールと何らかの形でリンクできるため、一度に重要なものをすべて取り下げなくても安心できますが、それでもまだいくつかの並行更新と再起動を行いますか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.