2017-03-28 54 views
1

我有一個代理/主設置。我在/etc/puppetlabs/code/environments/中創建了一個名爲master的新環境。不能爲傀儡代理使用不同的環境

environment.confmaster目錄環境中的含量

modulepath = site:modules:$basemodulepath 
manifest = manifests/site.pp 

,當我嘗試puppet agent -t --environment master我得到了一些錯誤

Notice: Local environment: 'master' doesn't match server specified node environment 'production', switching agent to 'production'. 
Info: Retrieving pluginfacts 
Info: Retrieving plugin 
Info: Loading facts 
Info: Caching catalog for node1.localpuppet.com 
Info: Applying configuration version '1490712072' 
Notice: Applied catalog in 0.67 seconds 

我是新來的傀儡。我需要做什麼改變?

PE Console Config

回答

2

這是木偶企業的一個「非常有趣的」怪癖,在過去幾年出現了。您必須指定PE分類器中允許在puppet.confpuppet agent -t --environment參數中指定其目錄環境的節點。

在分類器的代理程序指定環境選項卡中(您可以在上圖的底部看到它),可以爲所有節點啓用它。通過添加規則,使用正則表達式(~)選擇name事實,然後使用正則表達式匹配所有字符(.*)來執行此操作。填寫完成後,PE分類器將爲您提供多個匹配節點。它應該是所有訂閱你的主人。請記得點擊右下角更新您的規則。您的節點現在將能夠使用master而不是production從配置文件或CLI參數。這就是說,如果你這樣做是爲了避免在使用代碼管理器時在你的控制庫中命名默認的Git分支production,那麼你應該真的重命名分支,因爲這很容易。

+1

或者,您可以在主人身上指定所需的環境,而不是允許座席爲自己命名。我不確定在PE中究竟有多少人會這樣做,但我想在GUI中有一個選項可用。 –

+0

謝謝@MattSchuchard。它在生產環境選項卡中添加了事實'name〜。*'後運作。 –

+0

@AmitAuddy請接受我的回答。 –