puppet搭建

一:介紹

puppet用於集中管理多臺服務器的file、package、server、cron、user、group、exec(執行shell命令)、yumrepo等常用資源的C/S結構軟件


二:puppet工作流程

  1. puppet客戶端通過facter收集客戶端信息(主機名、內存、IP地址、系統信息……)併發送給服務端

  2. 服務器端檢測到客戶端的主機名,然後到manifest裏面解析對應的node配置(語法檢測、生成僞代碼、發送僞代碼給客戶端),只解析改節點的配置

  3. 客戶端接收到代碼後執行,然後客戶端把執行結果傳遞給服務器端

  4. 服務器再把客戶端的執行結果寫入日誌


三:安裝配置

puppet server:192.168.1.10    master.puppet.com

puppet agent:192.168.1.11    agent.puppet.com

主機名和IP必須解析,可以手動修改hosts文件或使用DNS解析


  1. 配置epel源:

    rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

  2. puppet server上操作:

    yum install puppet-server -y

    生成配置文件:

    puppet master --genconfig > /etc/puppet/puppet.conf

    touch /etc/puppet/manifests/site.pp

    該文件相當於一個索引文件,記錄載入agent配置,也可定義全局變量

    例:

    cat /etc/puppet/manifests/site.pp

    import 'nodes.pp'

    import 'nodes/*.pp'

    $puppetserver='master.puppet.com'

  3. puppet agent上操作:

    yum install puppet -y

    vim /etc/puppet/puppet.conf

    在main中添加

    server = master.puppet.com(master主機名,必須可以ping通,綁hosts或dns解析)

    在agent中添加

    runinterval = 10(向master查詢間隔時間,單位秒)


四:測試

    puppet server第一次啓動:

    puppet master --verbose --no-daemonize


    puppet agent第一次啓動:

    puppet agent --server=master.puppet.com --no-daemonize --verbose --noop --onetime


    會報錯沒有認證,在CA服務器上運行(這裏CA和puppet server在一臺上):

    puppet cert --list 顯示沒有授權的客戶端

    puppet cert --sign agent.puppet.com


    再次運行啓動命令正常,則分別開啓服務

    /etc/init.d/puppetmaster start

    chkconfig puppetmaster on


    /etc/init.d/puppet start

    chkconfig puppet on




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章