Server:
ip=`ifconfig eth0 |grep "inet addr" |awk -F ":" '{print $2}'| awk '{print $1}'`
hostname=`hostname`
echo "$ip $hostname" >> /etc/hosts
yum -y install gcc ruby ntp
/etc/init.d/ntpd stop
ntpdate cn.pool.ntp.org;hwclock -w
rpm -ivh https://yum.puppetlabs.com/el/6.5/products/x86_64/puppetlabs-release-6-10.noarch.rpm
yum -y install puppet-server
chkconfig puppetmaster on
service puppetmaster start
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 8140 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart
touch /etc/puppet/manifests/site.pp
touch /etc/puppet/manifests/default_linux.pp
mkdir -p /etc/puppet/manifests/nodes
touch /etc/puppet/manifests/nodes/node_linux.pp
touch /etc/puppet/manifests/nodes/node_windows.pp
echo 'import "default_linux.pp"' >> /etc/puppet/manifests/site.pp
echo 'import "nodes/*.pp"' >> /etc/puppet/manifests/site.pp
cat <<eof >> /etc/puppet/manifests/default_linux.pp
node 'default' {
include package::install
}
class package::install {
package { ["nmap","telnet","mlocate","vim-*","wget"]:
ensure => latest,
allow_virtual => false,
}
}
eof
service puppetmaster restart
#puppet cert list --all#查询所有证书;
#puppet cert --sign puppet-agent-XXX#认证;
#sed -i '4a \ \ \ \ autosign = true' /etc/puppet/puppet.conf #自动化认证;
#puppet cert revok puppet-agent-XXX#注销证书;
#puppet cert --clean puppet-agent-XXX#删除证书;
#puppet module list #查看已安装模块;
#puppet module install <module_name> --version 0.0.0.0#安装模块;
#puppet module search <search_string>#查找模块;
------------------------------------------------------------------
Clinet:
#!/bin/bash
#Client:#Set Host Name;cat /etc/sysconfig/network | grep -v "^#" | grep "localhost.localdomain" >> /dev/nullif [ $? = 0 ]; thenecho "Your host name is: `hostname`"read -p "Please input new host name: " newhostnamehostname $newhostnamesed -i "s/localhost.localdomain/$newhostname/g" /etc/sysconfig/networkecho "OK"echo ""elseecho "The host name has been changed!"echo ""fi#Set /etc/hostsifconfig eth0 > /dev/null 2>&1if [ $? = 0 ]; then eth0ip=`ifconfig eth0 |grep "inet addr" |awk -F ":" '{print $2}'| awk '{print $1}'` hostname=`hostname` echo "$eth0ip $hostname" >> /etc/hostsfiifconfig eth1 > /dev/null 2>&1
if [ $? = 0 ]; then eth1ip=`ifconfig eth1 |grep "inet addr" |awk -F ":" '{print $2}'| awk '{print $1}'` hostname=`hostname` echo "$eth1ip $hostname" >> /etc/hostsfi#Install gcc ruby ntp and sync dateyum -y install gcc ruby ntp/etc/init.d/ntpd stopntpdate cn.pool.ntp.org;hwclock -w#Install puppet epelrpm -ivh https://yum.puppetlabs.com/el/6.5/products/x86_64/puppetlabs-release-6-10.noarch.rpm#Install puppet agentyum -y install puppet#Puppet configchkconfig puppet onread -p "Please input puppet master ip: " masteripread -p "please input puppet master host name: " masterhostnameecho "$masterip $masterhostname" >> /etc/hostsecho "PUPPET_SERVER=$masterhostname" >> /etc/sysconfig/puppetecho "PUPPET_PORT=8140" >> /etc/sysconfig/puppetecho " server = $masterhostname" >> /etc/puppet/puppet.confecho " runinterval = 30m" >> /etc/puppet/puppet.confecho " listen = true" >> /etc/puppet/puppet.confsed -i "116a allow $masterhostname" /etc/puppet/auth.conf sed -i '116a method save' /etc/puppet/auth.conf sed -i '116a auth any' /etc/puppet/auth.conf sed -i '116a path /run' /etc/puppet/auth.conf #Iptables open port 8139iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 8139 -j ACCEPT/etc/init.d/iptables save#Start puppet agent serviceservice puppet start#Test and SYNC#puppet agent -t#puppet agent -t --sever puppet-master-XXX