实时警报通知:微信告警通知的重要性解析
621
2023-02-15
sudo管理和mysql的安装—puppet系列
以下步骤除非有标明,都是在server端设置
一、sudo管理
1、主资源配置文件:/etc/puppet/mainfests/site.pp
1 2 3 | [root@vmclient63 manifests]# cat /etc/puppet/manifests/site.pp import'nodes.pp' $puppetserver='vmserver62' |
注意:加载在/etc/puppet/mainfests/nodes目录中的所有文件都是以.pp结尾
2、设置节点:
1 2 3 4 | [root@vmclient63 manifests]# cat /etc/puppet/manifests/noded.pp node'vmclient63'{ ---说明在哪一个节点生效 include sudo --读取sudo模块 } |
3、定义模块
a、创建模块目录:
1 | # mkdir /etc/puppet/modules |
b、在模块目录中创建sudo模块:
1 | # mkdir /etc/puppet/modules/sudo |
c、在sudo模块中创建需要的基本目录:
1 | # mkdir -p /etc/puppet/modules/sudo/{files,manifests,templates} |
d、在sudo模块的manifests目录中必须创建模块的具体资源定义文件:
1 2 3 4 5 6 7 8 9 10 | [root@vmserver62 manifests]# vi /etc/puppet/modules/sudo/manifests/init.pp classsudo{ package{sudo:ensure=>present}---判断sudo是否安装,没有就安装 file{"/etc/sudoers":---文件资源 owner=>"root",---文件所属人员 group=>"root", mode=>0440,---文件的权限 source=>"puppet:///modules/sudo/etc/sudoers",---定义配置文件sudoers从puppet服务器读取,从:/etc/puppet/modules/sudo/files/etc/sudoers读取文件,模块目录files为文件类型资源的根目录 require=>Package["sudo"]}---定义依赖,需要执行package,才能执行这一步 } |
4、文件夹权限设置
1 2 3 | # mkdir /etc/puppet/modules/sudo/files/etc # cp /etc/sudoers /etc/puppet/modules/sudo/files/etc/sudoers # chown -R puppet.puppet /etc/puppet |
二、mysql安装
1、创建mysql模块目录
1 | # mkdir -p /etc/puppet/modules/mysql/{files,manifests,templates} |
2、创建mysql::install类
3、创建mysql::config子类
1 2 3 4 5 6 7 8 9 10 | [root@vmserver62 manifests]#cp /etc/my.cnf /etc/puppet/modules/mysql/files/my.cnf [root@vmserver62 manifests]# vi /etc/puppet/modules/mysql/manifests/config.pp classmysql::config{ file{"/etc/my.cnf": ensure=>present, source=>"puppet:///modules/mysql/my.cnf",---从puppet服务端下载my.cnf文件,下载的实际路径为:/etc/puppet/modules/mysql/files/my.cnf,所以这一步一开始就要拷贝文件 require=>Class["mysql::install"],---调用依赖子类mysql::install notify=>Class["mysql::service"]---依赖mysql:service重启服务重新加载配置文件 } } |
4、创建mysql::service子类
1 2 3 4 5 6 7 8 | [root@vmserver62 manifests]# vi /etc/puppet/modules/mysql/manifests/service.pp classmysql::service{ service{"mysqld": ensure=>running,---确定mysql服务是启动状态 require=>Class["mysql::install","mysql::config"] } } |
5、在manifests目录中创建mysql类
1 2 3 4 | [root@vmserver62 manifests]# vi /etc/puppet/modules/mysql/manifests/init.pp classmysql{ include mysql::install,mysql::config,mysql::service } |
6、在/etc/puppet/manifests/nodes/node1.pp中加载mysql类
1 2 3 | [root@vmserver62 manifests]# cat /etc/puppet/manifests/nodes/node1.pp node'vmclient63'---指定节点 {include sudo,mysql} |
7、重启puppetmaster
1 | #/etc/init.d/puppetmaster restart |
客户端设置:
1、在/etc/puppet/puppet.conf 文件中的[agent]下面添加两行
1 2 | authconfig=/etc/puppet/namespaceauth.conf listen=true |
2、在文件/etc/puppet/namespaceauth.conf中修改
3、/etc/puppet/auth.conf 文件最后添加三行
1 2 3 | path/ auth any allow * |
4、重启客户端
1 2 3 | [root@vmclient63~]# /etc/init.d/puppet restart Stopping puppet: [ OK ] Starting puppet: [ OK ] |
服务端开始通知客户端更新
1 2 3 4 5 6 7 | [root@vmserver62 mysql]# puppetrun -p 10 --host vmclient63 Triggering vmclient63 Getting status status isrunning Host vmclient63 isalready running vmclient63 finished with exit code3 Failed:vmclient63 ---这个是由于本人hostname不规范 |
查看服务端日志/var/log/message
查看客户端日志/var/log/message
可以查看客户端信息
发表评论
暂时没有评论,来抢沙发吧~