sudo管理和mysql的安装—puppet系列

网友投稿 621 2023-02-15

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

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",---定义配置文件sudoerspuppet服务器读取,从:/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

可以查看客户端信息

上一篇:关于Flume-ng那些事(三)
下一篇:it运维人员培训(it运维零基础培训)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~