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

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

4
Puppet:ファイル(またはパッケージ)が更新されたときにシェルコマンドを実行する
(Ubuntuサーバー上の)tzinfoパッケージが変更さmysql_tzinfo_to_sqlれるたびに実行したいと思います。私は人形がこれを処理できると考えました。 Puppetはパッケージバージョンの変更に反応するか、そうでなければパッケージに含まれるファイルのタイムスタンプの変更に反応すると思いました。 これを実行するために私が見ることができる唯一の方法は、直接的なアクションのないリソースを持ち、それに依存するexecを持つことです。 私が持っている質問は: 別のリソース(execなど)に通知するためだけに使用されるファイルを定義することはできますか? パッケージが変更または更新されたときに別のリソース(execなど)がアクティブになるようにパッケージリソースを定義することは可能ですか? ファイルシステムからのコマンドの代わりに、シェルコマンドライン(パイプとリダイレクトなど)を実行するexecリソースを定義することはできますか? まとめると、圧倒的です。 フォローアップ:素晴らしい答え!完全性のために(そして記録のために)、次のことに注意してください。 関心のある完全なシェルコマンドは mysql_tzinfo_to_sql | mysql -u root -p password (MySQLを使用するためにtzinfoをMySQLデータベースにロードする)です。 /etc/tzinfoこれは単なるローカルタイムゾーン構成であるため、の監査は無駄です。目的は、tzinfoデータ自体の変化を監視することです(したがって、の監視/usr/share/zoneinfo)。 同様に、内容が変化することはほとんどないため、内容を見るのは間違っています。tzinfoを更新するたびにファイル時間が変更されるため、mtimeまたはallを監視するのが最善です。 また、James Turnbull は、監査が導入されたときに監査についてすべて書きました。メタパラメータリファレンスの働きの簡単な説明が含まれauditたパラメータを。
8 puppet 

3
Puppetを使用して独自のソフトウェアをデプロイしますか?
(この質問の愚かさをあらかじめお詫びします。私は通常、システム管理者ではなくプログラマーですが、いくつかのことを自動化し、自動化されているが最もきれいな方法ではない他のいくつかをクリーンアップすることに専念しています。 。:-) cfengine、Puppet、Chefなど、多数のサーバーへのソフトウェア展開を自動化するためのさまざまなツールを見てきました。これまでのところ、Puppetは最も魅力的に見えますが、私は確かにまだ何もコミットしていません。 これらのツールはすべて、事前にパッケージ化されたソフトウェアを使用して多数のサーバーを最新の状態に保つための優れた機能を果たしているように見えます。 取得できないのは、Puppetなどのツールを使用して、内部ソフトウェアの展開を管理する方法です。私は、Apacheを維持する方法を示すチュートリアルensure => latest(これはかなりかっこいいです)を何千も見てきたので途方に暮れていると思いますが、今日のユースケースに相当するものはありません。 人間がボタンを押すと バージョン管理リポジトリBからブランチAをプルする コマンドCを実行してコンパイルします バイナリーDをサーバーE1からE10にコピーする 各サーバーでコマンドFを実行して、すべての変更を有効にします。 Puppetは素晴らしい音で、一部のシェルスクリプトに対する宣言型のべき等構成の利点は完全にわかりますが、「シェルスクリプトをPuppet(またはChef、またはcfengine)に更新したいので、ここでのチュートリアルは確認していません。すべきだ」そんなことありますか?Puppetのドキュメントで提供されているものをどのように利用して、私が望む振る舞いを再現するかは他の人には明らかですか?届かないのですか? これまでのところ、人間(#1)はソフトウェア(#2および#3)をPuppetの外部に手動でパッケージ化し、Puppet構成を手動で更新して、Puppetがサーバーを更新するようトリガーします。 .. 多分?(あなたが言うことができると確信しているので、私はここで少し混乱しています。) ありがとう!

3
グローバルvsローカルのパペット管理
誰かがPuppetを使用して地理的に分散した複数のシステムを管理したことがありますか? ほぼ同じような配置がいくつかありますが(サーバーIPを除く)、その管理をPuppetに変換しようとしています。 2つのオプションがあります。 ローカル構成を提供するために独自のPuppetMasterをホストする各デプロイメントを用意し、PuppetMasterを同期する(おそらく再度Puppetを使用) AWS EC2でPuppetMasterをホストして高可用性を実現し、単一ポイントからすべてのデプロイメントに構成を提供します 誰かが2番目のオプションを試しましたか、そしてそれはどのようにうまくいきましたか?このような環境での高可用性パフォーマンスに特に興味があります。 ありがとう。
8 puppet 

2
SSHキー管理システム
パスワードベース(圧倒され始めている)からSSHキーベースのシステムに切り替えることを考えています。 SSHキー管理システムまたはサーバーソリューションがあるかどうか知りたいのですが、マシンにキーを配布したり取り消したりすることができますか? または、このタスクにPuppetを使用するのが最善の方法ですか?はいの場合、クライアントマシンごとに単一のキーペアのアプローチ(ここで説明:sshキーを管理するための最良のシステム?)
8 ssh  puppet  keys 

4
構成管理:マシン間の依存関係
私は人形のようなツールを使用して個々のシステムを管理しましたが、一般的には高いレベルの成功を収めています。人形が落ちるのは、個々のサーバーの外部の依存関係を管理するのが得意ではないということです。 たとえば、MySQLサーバーでは、以下を実行するように人形を設定します。 LDAPサーバーにアクセスするようにマシンで認証を構成する ローカルリポジトリミラーを使用するようにaptを設定します MySQLパッケージをインストールする my.cnfを記述 MySQLを起動します データベースにユーザーを作成する この一連の手順では、いくつかの依存関係が解決されています。たとえば、パッケージをインストールしていないとデータベースサービスを開始できません。これは、aptリポジトリが正しく構成されていないと実行できません。 このMySQLサーバーは、マスター->マスターレプリケーション設定の1つのボックスです。理想的な世界では、パペット(または他の同様のツール)を使用して、サーバーBがサーバーAが使用可能になるまで待機してから、それとのレプリケーション関係の確立を試みる必要があるという事実を表現できます。 ここにたくさんのテキストがあります-基本的に私が求めていることは、このようなマシン間の依存関係を管理できるパペットのようなツールはありますか?

4
puppetで仮想ユーザーのSSHキーをデプロイするにはどうすればよいですか?
仮想ユーザーに承認済みのsshキーを割り当てるための人形を取得しようとしていますが、次のエラーが発生し続けます。 err: Could not retrieve catalog: Could not parse for environment production: Syntax error at 'user'; expected '}' at /etc/puppet/modules/users/manifests/ssh_authorized_keys.pp:9 私の設定は正しいと思いますが(以下に記載)、構文エラーやスコープの問題はありますか?私は単にユーザーをノードに割り当て、それらのユーザーに自動的にsshキーをインストールしてもらいたいと思っています。これを行うためのより良い方法はありますか?私はそれを考えすぎていますか? # /etc/puppet/modules/users/virtual.pp class user::virtual { @user { "user": home => "/home/user", ensure => "present", groups => ["root","wheel"], uid => "8001", password => "SCRAMBLED", comment => "User", shell => "/bin/bash", …
8 puppet 

4
PuppetまたはCfengineでCobblerをセットアップする方法は?
CobblerをPuppet / Cfengineと一緒に使用して、迅速な導入と構成を行うことについてはよく耳にしました。 いくつかのチュートリアルを紹介するか、それをどのように行うかについての経験を共有できますか? また、迅速なプロビジョニングと展開に使用する他のシステムについてもお聞かせください。ありがとう。

2
Puppetを使用してローカルグループメンバーシップを強制するにはどうすればよいですか?
これをAsk @ PuppetLabsからクロス投稿してください。(単にそこに十分なトラフィックがありません。) Augeasを使用して%wheelにユーザーを追加するための例をいくつか見てきました。これらはすべて同じもののバリエーションです。最後にユーザーノードを挿入します。 クイックヒント:augeasを使用してユーザーをグループに追加する PuppetおよびAugeasを使用してLinuxの構成を管理する方法 Puppetグループ管理モジュール また、構成管理の外部で追加されたユーザーを削除する必要があります。Puppetがグループを管理するには、Puppetクラスで定義されたユーザーのみが存在し、他のユーザーは削除されます。 単純なSedコマンドをexecする方がはるかに簡単に思えますが、多くの人がexecから離れようとするように言っています。この場合、それはそのような悪い解決策ですか?
4 puppet  sed  groups  augeas 

2
PuppetエージェントからPuppetマスター(nginx / ruby​​1.9で実行)SSL証明書の問題
私は2つのマシン、パペットマスター(ホスト名)と1つのpuppetクライアント(ホスト名)を持っていますgit。マスターマシン上のパペットエージェントは問題なく動作します。上のエージェントgitは「400 No required SSL certificate was sent」で失敗します。最初に、シン/ nginx事件であるパペットマスターの設定: puppet:~# ruby -v ruby 1.9.2p0 (2010-08-18 revision 29036) [i486-linux] puppet:~# puppet --version 2.7.9 puppet:~# cat /etc/nginx/sites-enabled/default server { listen puppet:8140; ssl on; ssl_certificate /var/lib/puppet/ssl/certs/puppet.pem; ssl_certificate_key /var/lib/puppet/ssl/private_keys/puppet.pem; ssl_ciphers ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP; ssl_client_certificate /var/lib/puppet/ssl/ca/ca_crt.pem; ssl_verify_client on; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For …
3 nginx  ssl  puppet  thin 

1
OpenSSLに含まれているCAバンドルを解決する方法は、Puppetモジュールをインストールする際に有効でないか、最新の問題である可能性がありますか?
モジュールを取得しようとすると、次の出力があります 注意:/ usr / local / etc / puppet / modulesへのインストールの準備... 通知:https://forgeapi.puppetlabs.comからダウンロードしています... エラー:HTTPS経由でhttps://forgeapi.puppetlabs.comに接続できませんでした SSL証明書を確認できません 証明書は有効なCAによって署名されていない可能性があります OpenSSLに含まれているCAバンドルが有効でないか、最新ではない可能性があります しかし、私の/etc/ssl/cert.pemリンクは正しく、パッケージca_root_nss-3.16.3は最新です。これを診断する方法について、Puppetから入手できる情報はありますか?間違った場所を探しているのでしょうか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.