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

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

7
バージョン管理職長と人形
Foremanを初めてセットアップしたばかりで、すべての構成をバージョン管理下に置く方法がわかりません。Puppetマスターにインストールする各モジュールにGitを使用できることはわかっていますが、モジュールだけでなく、各ホストに関連付けられているクラスやホストに設定されている変数も網羅する、より包括的なソリューションを好むでしょう。提案があれば、関連するワークフローとともに大歓迎です。必要に応じて、GitLabをサイトの中央Gitサーバーとしてセットアップし、JenkinsなどのCIサーバーをすぐにセットアップする予定です。

3
Puppet:Puppetクライアントを初めて使用するように構成しようとしましたが、証明書に問題が発生しました
クリネット「Itai-test」を設定して、「puppetmaster」と呼ばれるパペットサーバーからパペット設定を受信しようとしています。 私が実行したサーバーで: [root@puppetmaster requests]# puppet cert --generate itai-test.domain Error: A Certificate already exists for itai-test.domain [root@puppetmaster requests]# puppet cert --sign itai-test.domain Error: Could not find certificate request for itai-test.domain [root@puppetmaster requests]# パペットクライアントで私は実行しました: [root@itai-test temp]# puppet agent --server puppetmaster.domain --waitforcert 60 --test Notice: Did not receive certificate Notice: Did not receive …

3
Puppetを使用して、すべてのファイルを定義せずに、ディレクトリ内の複数のファイルが存在することを確認できますか?
私は、ディレクトリに存在する必要があるさまざまな構成ファイルを持つ数百の一時サーバーを持っています。ファイルのコピーはパペットマスターにあります。 私のクラスの1つには、次のように常にノードにプッシュされるデフォルトの構成セットがあります。 file { "/etc/someprogram/config/000-default": ensure => "present", owner => "root", group => "root", mode => 0764, source => "puppet:///modules/someprogram/000-default", } 私が欲しいのは次のようなものです: $filearray = directory listing of /etc/puppet/modules/someprogram/files/$fqdn with each file as an element into array $filearray.each( file { "/etc/someprogram/config/$filename": ensure => "present", owner => "root", group => "root", mode …

2
Puppetを使用してPPAからパッケージをインストールする
dockerがプリインストールされたVMを自動的にプロビジョニングしようとしています。 私のデフォルトのinit.ppは次のようになります: class { 'apt': always_apt_update => true, } package { [ #'build-essential', #'vim', #'curl', #'zsh', #'git-core', #'htop', #'wget', #'linux-image-generic-lts-raring', 'python-software-properties' #'lxc-docker' ]: ensure => 'installed', } apt::ppa { 'ppa:dotcloud/lxc-docker':} # refresh apt source exec { "apt-update": command => "/usr/bin/apt-get update && apt-get install lxc-docker --force-yes", returns => 100 } …
8 puppet  vagrant 

2
APTなしで人形を推奨
私は人形を使って、仕事でたくさんのDebianサーバーを管理しています。いくつかのシステムにインストールするパッケージの1つはnmapです。これは、ファイアウォールルールが正しく設定されていることを確認するために使用されます。Debian 7.0では、APT :: Install-Recommendsが有効になっている場合、nmap(下記を参照)とともに大量のがらくたを取得します。 おすすめが有効になっている状態でnmapをインストールするすべてのがらくたは必要ありません。1つの解決策は、apt構成をで更新することAPT::Install-Recommends "0";です。しかし、これをデフォルトにしたくありません。私がお勧めしたい時間の大部分は含まれています。推奨パッケージはほとんど問題なく、私は必要のないものをたくさん入手できていません。しかし、私が望まない/必要としない考えをもたらしているパッケージがいくつかあります。 package { 'nmap': ensure => installed, require => Class['apt'], } 「apt」パッケージプロバイダーを使用しているときに、推奨がパペットを介してインストールされるかどうかを制御する方法はありますか? aptとaptitudeは完全に互換性がないため、aptitudeプロバイダーをいじりたくありません。 おすすめあり root@fw-01:~# apt-get install nmap Reading package lists... Done Building dependency tree Reading state information... Done ... The following NEW packages will be installed: fonts-droid fonts-liberation ghostscript gnuplot gnuplot-nox groff gsfonts imagemagick …
8 debian  puppet  apt 

4
Puppetで/ etc / hostsファイルにテキストを追加する最良の方法は何ですか?
また、少なくとも最初の10行は手動でhostsファイルを編集する機能を保持したいと思います。 #Public IP's - eth0 192.168.1.103 front-01 192.168.1.106 front-02 #Private IP's - eth1 192.169.40.201 priv0-0 192.169.40.202 priv0-1 192.169.40.207 priv1-0 192.169.40.208 priv1-1 #Virtual IP's - eth0:1 192.169.50.202 vip-01 192.169.50.205 vip-02 これらのホストエントリを/ etc / hostsの下部に配置するのが最適です。これを行う最良の方法は何ですか?8つのホスト行マニフェストを書くよりも良い方法はありますか? # create a simple hostname and ip host entry host { 'front-01': ip => '192.168.1.103', } / …
8 puppet 

2
シンプルなWindows + Linuxサーバーのプロビジョニング?シェフ・人形・アンシブルなど【閉店】
現在のところ、この質問は、Q&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 私は主に開発者であり、非常勤です。プロジェクトのあちこちでサーバーを管理します。 今後プロジェクトで使用するWebサーバー、アプリサーバー、データベースサーバーのプロビジョニングを自動化したい WindowsとLinuxの両方のサーバー(VPS、クラウド、専用)を管理しています 調査したChef / Puppet / Ansibleについて簡単に説明しました。そして私は何かを見つけたいと思っています: 学びやすく理解しやすいです。複雑な技術を理解するために何週間も投資したくありません。 理想的には、構成を保持するためにサーバー(「マスターサーバー」)を必要としない WindowsおよびLinuxサーバーのプロビジョニングをサポート 開始するための適切なドキュメントが付属しています どのツールが最も適しているかについて誰かアドバイスはありますか? ありがとう
8 puppet  chef 

1
定義されたタイプの通知またはサブスクリプションのハンドラーを設定する方法
パペットの定義された型にハンドラーを追加するにはどうすればよいですか?たとえば、私が持っている場合: define foo::bar ($baz) { ... } ハンドラfoo::barを含めて何かを処理するにはどうすればよいですか ... notify => Foo::Bar['zippidy'] ... ? ハンドラーは、通知を受け取ると、条件付きロジック内でさまざまなExecを実行します。
8 puppet 

4
Puppetで文字列を整数に変換する方法は?
変数の内容が奇数かどうかを確認したい。しかし、私はそれに整数が必要です。 $ip_array = split($ipaddress, '.') $odd_ip = $ip_array[3] % 2 if $odd_ip == 1 { notice("is odd") } 文字列を整数に変換する簡単な方法はありますか?
8 puppet 

2
パペットからシェルスクリプトを実行するにはどうすればよいですか?
私はインストールする必要があるnpmによって行われているcurl http://npmjs.org/install.sh | shと使用に新しいものpuppet、私はこれが行われるべきかについて混乱して少しです。 ターゲットpackage {}を呼び出すエントリを作成することは承知していますが、ソースからexecインストールするnpmので、これでカットされることはありません。 プルするnpmたびにビルドしたくないのは明らかなpuppetので、インストールされているかどうかを確認する必要があるので、exec {}単独で作成するだけでは不十分です。 私に何ができる?
8 puppet  node.js 

3
Puppetは.erbファイル変数のリソースをエクスポートしましたか?
シナリオ:私の構成ファイルは.erb、以下のスニペットを含むファイルによって定義されています。 <% backupclients.each do |backup_files| -%> Job { Name = "Server" JobDefs = "DefaultJob" Client = <%= backup_files %>-fd Pool = TeraMonth Write Bootstrap = "/var/lib/bacula/<%= backup_files %>.bsr" } <% end -%> サーバーの構成ファイルには、クライアントホストごとにエントリを繰り返す必要があります。単純な配列を作成する場合、これは問題なく機能します。しかし、私がやりたいことは、各ホストにそれ自体を登録さ<<| |>>せ、nagios_*タイプで行うのと同様のプラグマを使用してデータを収集することです。 この標準的な例には、タイプのエクスポートが含まれます。 class ssh { @@sshkey { $hostname: type => dsa, key => $sshdsakey } Sshkey <<| …
8 puppet 

2
aptitudeまたはapt-getにdpkg構成パラメーターを提供するにはどうすればよいですか?
gitoliteをインストールすると、次のことがわかります。 # aptitude install gitolite The following NEW packages will be installed: gitolite 0 packages upgraded, 1 newly installed, 0 to remove and 29 not upgraded. Need to get 114 kB of archives. After unpacking 348 kB will be used. Get:1 http://security.debian.org/ squeeze/updates/main gitolite all 1.5.4-2+squeeze1 [114 kB] Fetched 114 …

2
Puppetのincludeとrequireの違いは何ですか
次のコードがある場合、私は人形のクラスを持っています: class A { require B .... } 循環依存エラーが発生します。私が持っている場合: class A { include B .... } すべてうまくいきます
8 puppet 

2
Puppetクライアントを新しいPuppetmasterに移行する
既存のPuppetクライアントを新しいPuppetmasterサーバーを指すように移行するにはどうすればよいですか?手動で各クライアントボックスに移動して、新しい証明書を生成したくない。 / etc / puppetおよび/ var / lib / puppetからすべてのファイルを新しいサーバーにrsyncして、明白な試みをすると、証明書エラーが発生しました。 /etc/init.d/puppetmaster start * Starting puppet master Could not run: Retrieved certificate does not match private key; please remove certificate from server and regenerate it with the current key /var/lib/ssl/certsと/var/lib/ssl/private_keyファイルをからold_hostnameにコピーすることで回避できましたnew_hostname。これは、基本的にパペットクライアントを新しいパペットマスターに移行する際に推奨されるものです (古いパペットマスターサーバーはなくなり、バックアップのみを使用します)。 残念ながら、私のクライアントはまだ何かがおかしいことを知っており、次のエラーを教えてくれます。 sudo puppetd --test --server newservername.example.net --noop info: Retrieving plugin …

2
ファイルが存在するかどうかのパペットテスト
クライアントにファイルが存在するかどうかをテストする方法を探しています(作成ではなくテストするだけです)。chefで(File.exists)の方法を見つけましたが、パペットでは簡単ではありませんでした。 前もって感謝します。
8 puppet 

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