centos7部署func
Func(Fedora Unitied Network Controller)是红帽公司以Fedora平台构建的统一网络控制器,是为解决集群管理、监控问题而设计开发的系统管理基础框架。它是一个能有效简化多服务器系统管理工件的工具,它易于学习、使用和扩展,而且功能强大,只需极少的配置和维护操作。Func分为master和slave两部分,master为主控端,salva为被控端。
一、以下为演示环境
角色 |
系统 |
主机名 |
IP |
Master |
Centos7 |
Master |
172.16.1.206 |
Slave |
Centos7 |
Node1 |
172.16.1.207 |
salve |
Centos7 |
Node2 |
172.161.208 |
二、Func的安装
1、 在主控端安装Func
1) 安装func
$ sudo yum install epel-release –y $ sudo yum install func -y
2) 主控端hosts配置
$ sudo vim /etc/hosts
----------------------------------------->
172.16.1.201 master 172.16.1.202 node1 172.16.1.203 node2
3) 修改/etc/certmaster/minion.conf的certmaster参数,指向证书服务器
$ sudo vim /etc/certmaster/minion.conf
----------------------------------------------------------->
[main] certmaster = master //此处的master为主被端主机名 certmaster_port = 51235 log_level = DEBUG cert_dir = /etc/pki/certmaster
4) 重启证书服务
$ sudo systemctl restart certmaster $ sudo systemctl start funcd $ sudo systemctl enable funcd
5) 开放51235端口
$ sudo iptables –I INPUT –s 172.16.1.0/24 –p tcp - - dport 51235 –j ACCEPT
至此,主控端配置完毕。
2、 被控端安装,安装主机分别为node1和node2
1) 安装func
1 $ sudo yum install epel-release –y 2 $ sudo yum install func -y
2) 配置hosts信息
$ sudo vim /etc/hosts
---------------------------------------->
1 172.16.1.201 master
3) 修改/etc/certmaster/minion.conf的certmaster参数
$ sudo vim /etc/certmaster/minion.conf
------------------------------------------------------------->
[main] certmaster = master certmaster_port = 51235 log_level = DEBUG cert_dir = /etc/pki/certmaster
4) 修改/etc/func/minion.conf的minion_name参数
1 $ sudo vim /etc/func/minion.conf
------------------------------------------------------------>
1 # configuration for minions 2 3 [main] 4 log_level = INFO 5 acl_dir = /etc/func/minion-acl.d 6 7 8 listen_addr = 9 listen_port = 51234 10 minion_name = node1 11 method_log_dir = /var/log/func/methods/
5) 启动func服务
1 $ sudo systemctl start funcd 2 $ sudo systemctl enable funcd
6) 开放51234端口
$ sudo iptables –I INPUT –s 172.16.1.0/24 –p tcp - -dport 51234 –j ACCEPT
至此,被控端配置完毕。两台被控端配置相似,另一台不再赘述。
3、 证书签名
1) 获取主机清单
$ sudo certmaster-ca --list
2) 证书签名
$ sudo certmaster-ca --sign node1 $ sudo certmaster-ca --sign node2
#一键完成所有主机的签名
$ sudo certmaster-ca –sign `certmaster-ca --list`
3) 查看已签名的主机名
1 $ sudo func “*” list_minions
4) 删除主机签名
1 $ sudo certmaster-ca –c node1
5) Func也可使用自动签名机制
$ sudo vim /etc/certmaster/certmaster.conf
------------------------------------------------------------------>
autosign=yes
三、Func常用模块及API
1、 command模块
$ sudo func ‘node1’ call command run “hostname”