puppet 의 설치 배치 실례
특별 설명: 클 라 이언 트 와 서버 쪽 버 전이 일치 해 야 합 니 다.버 전이 일치 하지 않 으 면 높 은 버 전 은 puppet server 일 수 있 고 다른 한 대 는 puppet 클 라 이언 트 일 수 있 습 니 다. 즉, puppet 서버 의 버 전 은 클 라 이언 트 버 전 보다 크 거나 같 을 수 있 습 니 다.
1.关闭防火墙
[root@puppet01~]service iptables stop
[root@puppet01~]chkconfig iptables off
2.设置selinux
[root@puppet01~]sed -i's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
3.修改服务端跟客户端hosts文件,添加IP和主机名称
[root@puppet01~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4localhost4.localdomain4
::1 localhost localhost.localdomainlocalhost6 localhost6.localdomain6
192.168.1.231 puppetserver
192.168.1.232 puppetclient
4.服务端安装puppetmaster
rpm-Uvh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-1.noarch.rpm
yum install puppet-server �Cy
5.客户端安装puppet
rpm-Uvh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-1.noarch.rpm
yum install puppet -y
6.服务端开启puppetmaster服务
/etc/init.d/puppetmasterstart
7.客户端证书申请
puppetagent --server puppetserver --test
8.服务端查看证书是否生成
[root@puppet01~]# puppet cert --list
"puppet02" (SHA256)36:1F:C6:80:48:66:90:52:87:3B:55:AB:6C:66:31:3F:33:35:CF:AE:8A:3A:BA:F9:D0:70:EE:C2:3F:FD:23:9C
9.服务端颁发证书
1.可以为特定的主机颁发证书命令:puppetcert �Cs
2.给所有的主机颁发证书命令:puppetcert �Cs and �Ca
为客户端颁发证书:
puppetcert --s puppetclient #后面是主机名
10.客户端/tmp下面创建个test.txt文件,做测试
touchtest.txt
#服务端下面编辑site.pp
vi /etc/puppet/manifests/site.pp
node default {
file {
"/tmp/test.txt": content => "helo,test!";
}
}
11.客户端测试
puppetagent --server puppetserver --test
成功信息:
Info:Caching certificate for puppetclient
Info:Caching certificate_revocation_list for ca
Info:Caching certificate for puppetclient
Info:Retrieving pluginfacts
Info:Retrieving plugin
Info:Caching catalog for puppetclient
Info:Applying configuration version '1426557149'
Notice:/Stage[main]/Main/Node[default]/File[/tmp/test.txt]/content:
---/tmp/test.txt 2015-03-1621:51:08.889040996 -0400
+++/tmp/puppet-file20150316-1468-1n3cxlt-0 2015-03-1621:52:29.746041636 -0400
@@-0,0 +1 @@
+hello,test!
\No newline at end of file
Info:Computing checksum on file /tmp/test.txt
Info:/Stage[main]/Main/Node[default]/File[/tmp/test.txt]: Filebucketed /tmp/test.txtto puppet with sum d41d8cd98f00b204e9800998ecf8427e
Notice:/Stage[main]/Main/Node[default]/File[/tmp/test.txt]/content: content changed'{md5}d41d8cd98f00b204e9800998ecf8427e' to'{md5}18ea2a60db7763506261f87ecb82fb96'
Info:Creating state file /var/lib/puppet/state/state.yaml
Notice:Finished catalog run in 0.05 seconds
12.设置puppet自动认证
在服务端的puppet.conf配置文件里面[main]下方加入
autosign= true
然后重启puppetmaster服务。
#这样在客户端执行puppetd �Cserver=puppetserver --test服务端会自动认证
13.重新生成证书:
因为很多时候需要更换主机名称,所以需要重新认证
1.首先在客户端删除:rm �Crf /var/lib/puppet/ssl文件夹
2.然后在服务端删除:puppet cert--clean puppetclient
3.最后重新获取证书:puppet agent--server puppetserver --test
14.客户端配置puppet相关参数和同步时间:
vi /etc/puppet/sysconfig/puppet
#The puppetmaster server
PUPPET_SERVER=puppetserver
#If you wish to specify the port to connect to do so here
PUPPET_PORT=8140
#Where to log to. Specify syslog to send log messages to the system log.
PUPPET_LOG=/var/log/puppet/puppet.log
#You may specify other parameters to the puppet client here
PUPPET_EXTRA_OPTS=--waitforcert=500
#最后重启puppet 服务
/etc/init.d/puppetstart
#默认配置完毕后,客户端是半小时同步一次的,我们可以修改同步的时间间隔:
vim/etc/puppet/puppet.conf
#在[agent]下方加入:runinterval = 60
#代表是60秒跟服务器同步一次
#最后重启puppet服务
/etc/init.d/puppetstart
15.puppetrun的使用(puppet kick)
#在服务器端使用puppetrun这个命令可以给客户端发送一段信号,告诉客户端立刻跟服务器同步
1. 修改客户端上的puppet配置文件
vim /etc/puppet/puppet.conf
在[agent]下方添加
listen = true #目的是让puppet监听8139端口
2. 修改客户端的puppet的/etc/sysconfig/puppet文件
vim /etc/sysconfig/puppet
PUPPET_SERVER=puppetserver #server主机名称
3. 在客户端新建namespaceauth.conf文件
[puppetrunner]
allow *
4. 在客户端修改auth.conf,在 paht / 的前面添加以下内容:
#test
path /run
method save
allow *
5. 最后重启puppet服务
/etc/init.d/puppet restart
6. 在服务端测试命令:
puppet kick �Cd host puppetclient
#code 0表示成功
16.文件同步
1.首先编辑fileserver.conf文件:
[root@masterpuppet]# vim fileserver.conf
[files] 定义模块名称è后面的site.pp里面要调用这个名称
path/opt/
allow192.168.1.0/24
2.然后编辑site.pp文件:
[root@masterpuppet]# vim manifests/site.pp
file{"/opt": # 传输的文件名称这个可以随便写
source=>"puppet:///files/", #要传输的文件
recurse=> true; # 传送该目录下所有文件
}
#puppet://"等价于主配置文件puppet.config中的modulepath值
3.最后执行命令
puppet agent --server puppetserver --test
이상 은 puppet 의 기본 소개 입 니 다.puppet 에 관 한 기능 은 여러 대의 서버 를 관리 할 수 있 을 뿐만 아니 라 파일 의 동기 화, 소프트웨어 설치, 관리 서비스 등 기능 을 수행 할 수 있 을 뿐만 아니 라 svn 발표 코드 도 결합 할 수 있 습 니 다!
자, puppet 의 기본 설 치 는 여기까지 입 니 다!앞으로 도 puppet + svn 코드 발표 방안 을 계속 업데이트 하 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.