2016-05-03 5 views
0

私は人形劇で初めてです。最初に私は人形をインストールして設定しました。私はいくつかのsite.pp.を適用しよう人形:名前でデフォルトノードを見つけることができませんでした

+ "puppet"     (SHA256) FB:57:B2:B7:18:99:0F:15:DB:F0:E1:E8:12:31:99:75:BF:05:46:8D:78:A9:C4:DD:68:9E:A4:xxx (alt names: "DNS:puppet", "DNS:puppetmaster.example.com") 
+ "puppetclient.example.com" (SHA256) 64:4F:0C:B2:EA:53:6B:2D:E3:5B:11:DB:80:E3:DF:AD:A6:AF:B5:B9:DB:05:6F:79:5D:E5:8Exxx 

: は、私は私のマスター上で、私の本命をチェックしますここで は私init.ppです。ここ

class apache2 { 
    package { 'apache2': 
    ensure => installed, 
    } 

    service { 'apache2': 
    ensure => true, 
    enable => true, 
    require => Package['apache2'], 
    } 
} 

は私site.pp

node 'puppetclient.example.com' { 
    include apache2 
} 

である私が試してみてください。 sudo puppet apply site.ppと私はそれはしようと思わ次のエラー

Error: Could not find default node or by name with 'puppet, puppet.example.com, puppet.example' on node puppet 
Error: Could not find default node or by name with 'puppet, puppet.example.com, puppet.example' on node puppet 

を取得します存在しないホスト(おそらくデフォルトのホスト名)にmy .ppを実行してください。私は間違って何をしています。私はそれが私のpuppetclient.example.comで実行されたい。

おかげ

+0

クライアントの実際のホスト名は何ですか?つまり、 'hostname'を実行してもクライアントは何を返すのでしょうか? – RaviTezu

+0

ホスト名は私にpuppetclientを与えました – DenCowboy

+0

'puppetclient.example.com'を 'puppet.example.com'に変更して再度適用できますか? – RaviTezu

答えて

1

エラーとあなたのコメントからホスト名を使用して、すなわち、マスタないリモートクライアント間違ったホストに適用するコマンドを使用していることを示唆しています。

異なるホスト上でコマンドを実行する場合は、puppet-master(サーバー)を使用して、リモートクライアントにPuppetエージェントをインストールし、クライアントでコマンドを実行する必要があります。すなわちsudo puppet agent -tの場合、エージェントを設定する必要があります。

Puppetは、ファクタからのデータを使用してノード名を決定します。ファイヤーデータは実際のホスト名、/ etc/hosts、および/ etc/sysconfig/networkとその他の情報から生成されます。 Puppets facter pageで詳細を読むことができます。

ホスト名を確認するeasiesの方法はhostnameコマンドを実行することですかfacter hostnameまたはfacter fqdn

ベローは人形がofficial websiteからノード名を確認する方法である:

指定されたノードは、内容だけを取得しますたとえ2つのノードステートメントがノードの名前と一致することができたとしても、1つのノード定義のパペットは、使用する定義を決定する際に、次のチェックを順番に実行します。

ノードの正確な名前のノード定義がある場合は、それを使用します。

ノードの名前と一致する正規表現のノードステートメントがある場合、Puppetはそれを使用します。 (複数の正規表現ノードが一致する場合、Puppetはそれらの1つを使用しますが、保証はありません) ノードの名前が完全修飾ドメイン名のように見える場合(つまり、ピリオドで区切られた文字、数字、アンダースコア、 (つまり、www01.example.comの定義が見つからない場合、Puppetはwww01.exampleに一致する定義を探します) Puppet willデフォルトのノードを使用します。 - www01.example.com

  • www01に一致する正規表現

    • www01.example.com:

      したがって、ノードwww01.example.comのために、人形は以下の順番でをしようとするだろう。例 -

    • www01 www01.example一致する正規表現 - www01
    • デフォルト
  • P.S.に一致する正規表現 これをダウングレードする場合は、理由を提供するのに十分親切にしてください。

    +0

    Puppetはデフォルトでノード名*としてホスト名を使用しますが、ノード名は実際には設定可能であることに注意してください。 –

    0

    コマンドpuppet applyは、ローカルマニフェストファイルとデータからカタログを作成し、それをローカルマシンに適用するためのものです。あなたはあなたのマスターでそれを実行しています、そしてあなたのサイトマニフェストはそのマシンにマッチすることができるノードブロックを提供しないので、パペットのエラーが出ます。 puppet applyを使用する場合は、構成するマシンに必要なマニフェストとデータを配置し、puppet applyを実行する必要があります。

    マスター/エージェント設定を使用する場合は、指定されたマシンでマスターサービスまたはpuppetserverサービスを実行する必要があります。すべてのマニフェストとデータはそこに存在する必要があります。他のマシンはマニフェストやデータを必要とせず、ではなくpuppet agent(ローカル)を実行して構成します。このエージェントは多くの場合、デーモンとして実行されますが、別のスケジューラ(たとえば、cron)の制御下で実行するために、多くの人が使用する一度限りのモードで実行することもできます。

    明らかに、リモートマシンから何らかの形での協力なしに、マスタ上でコマンドを実行するだけで、リモートマシンを構成することはできません.Popetや他のシステムでは実行できません。このような無制限のリモートコントロールに影響を受けないようにしたいとは思わないでしょう。

    真のリモコンをお探しの場合は、Puppetの "MCollective"製品をご検討ください。パペットと同じように、制御対象のマシンからの協力が必要ですが、アドホックとオンデマンド制御はありません。他の多くのものの中で、あなたはそれを利用して、puppet agentを遠隔から実行することができます。

    関連する問題