2.Puppet
  r1HxizPVIczm 2023年11月13日 25 0

全部主机:

部署环境:

wget https://yum.puppetlabs.com/el/7/products/x86_64/puppetlabs-release-7-12.noarch.rpm

rpm -ivh puppetlabs-release-7-12.noarch.rpm

cd /etc/yum.repos.d

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo


cat << EOF >> /etc/hosts

192.168.1.10 master.puppet.com

192.168.1.11 client01.puppet.com

192.168.1.12 client02.puppet.com

192.168.1.13 svn.puppet.com

EOF


master:

安装并启动 Puppet 服务端

hostnamectl set-hostname master.puppet.com

bash

yum install -y puppet-server

systemctl start puppetmaster

systemctl enable puppetmaster


clien1和clien2:

安装 Puppet Client

hostnamectl set-hostname client01.puppet.com

hostnamectl set-hostname client02.puppet.com

bash

yum install -y puppet

修改客户端配置文件

在 /etc/puppet/puppet.conf 文 件 中 的 [main] 标 题 下 添 加 “server =

master.puppet.com”配置字段用于设置 Puppet Master 的域名

vim /etc/puppet/puppet.conf

#添加以下内容:

server = master.puppet.com

客户端申请注册

等待一会儿,可以按 Ctrl+C 结束,从服务器端查看到申请信息

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


master:

Master 端查看申请注册的客户端

puppet cert --list

在 Master 上,将所有申请未注册的客户端进行注册

puppet cert sign --all

注册成功后,可以通过目录去查看已经注册的客户端

ll /var/lib/puppet/ssl/ca/signed/


clien2:

安装并配置 SVN 服务

yum install -y subversion

mkdir -p /var/svn/html

svnadmin create /var/svn/html/

ls /var/svn/html/

修改 svn 配置文件

vim /var/svn/html/conf/svnserve.conf

添加以下内容:

anon-access = read

auth-access = write

password-db = /var/svn/html/conf/passwd

authz-db = /var/svn/html/conf/authz

[root@svn ~]# vim /var/svn/html/conf/passwd

[users]

alpha = alphapasswd

sysadmin = sysadminpasswd

[root@svn ~]# vim /var/svn/html/conf/authz

[/]

sysadmin = r

alpha = rw

[web]

sysadmin = r

alpha = rw

启动版本库

svnserve -d -r /var/svn/html

创建测试目录并测试

cd /var/svn/html/

mkdir web

svn import web file:///var/svn/html/web -m "init svn"

下载安装 concat 和 rsync 模块

yum install -y git

cd /etc/puppet/modules/

git clone https://github.com/onyxpoint/pupmod-concat && mv pupmod-concat concat

git clone https://github.com/onyxpoint/pupmod-rsync && mv pupmod-rsync rsync

ll


master:

配置 Puppet Master

Puppet Master 开始创建管理 Agent 节点目录及文件,方便以后管理

mkdir -p /etc/puppet/manifests/nodes

vim /etc/puppet/manifests/nodes/release.puppet.com.pp

#添加以下内容:

class rsync::client inherits rsync {

}

node 'client02.puppet.com' {

include 'rsync::server'

rsync::server::global { 'global':

   address => '192.168.1.12'

}

rsync::server::section { 'web':

comment => 'This is formal file path',

path => '/var/www/html/web',

hosts_allow => '192.168.1.11'

}

rsync::server::section { 'web_test':

comment => 'This is test file path',

path => '/var/www/html/web_test',

hosts_allow => '192.168.1.12'

}

}

创建 site.pp 配置文件

vim /etc/puppet/manifests/site.pp

#添加以下内容:

import "nodes/release.puppet.com.pp"


svp:

自动配置发布服务器

puppet agent --server=master.puppet.com --test -v

查看发布服务器的/etc 目录,发现已经自动生成 rsyncd.conf 文件,但是 rsync

服务是未启动的。自动生成的/etc/rsyncd.conf 文件内容如下

cat /etc/rsyncd.conf

启动 rsync 服务,查看 873 端口是否开启。如果开启了防火墙,记得打开 873 端口

rsync --daemon

netstat -an | grep 873

如果希望下次发布服务器能自动启动 rsync 服务,那么需要修改 Puppet Master

的 rsync 模块文件,将/etc/puppet/modules/rsync/manifests/server.pp 文件中的如下

行注释掉

stop => "/bin/kill `cat \\`grep \"pid file\" /etc/rsyncd.conf | cut -f4 -d' '\\``",

新增如下所示

stop => "/bin/kill `ps -ef | grep rsync | grep -v grep | awk '{print $2}'`",

从 SVN 服务器检出项目,检出的时候需要输入 SVN 服务器密码,然后输入

svn 用户和密码

svn co svn://svn.puppet.com/web

cd web

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

r1HxizPVIczm