Func 是红帽子公司 Fedora平台统一网络控制器
FuncFedora UnifiedNetwork Controller https://fedorahosted.org/func),目的是为了解决这一系列统一管理监控问题而设计开发的系统管理基础框架。能有效的简化多服务器系统管理工作的工具,易于学习,易于使用,易于扩展,而且功能强大。
Func的特点有:
1、Func可以在主控机上一次管理任意多台或任意多个服务器组。
2、Func基于Certmasterhttps://fedorahosted.org/certmaster/)建立了Master-Slaves主从SSL证书管控体系,可以将证书自动分发到所有受控服务器。
3、Func命令行可以直接发送远程命令或者远程获取数据。
4、Func 开发者已经完成了大多数常用任务模块的开发,包括命令执行模块、文件传输模块、IPtables模块、查看硬件信息模块、Mount模块、进程模块、服务模块、重启系统模块等。
5、可以通过Func提供的Python API轻松编写扩展模块,以实现具体功能扩展。而且任何Func命令行能完成的工作,都能通过API编程实现。
6、Func通讯基于XMLRPC和SSL标准协议。
系统:Master : centos 5.8 x86
Minion: centos 6.3 x86
配置hosts文件,使master与minions可以相互解析。
func安装
一、Master控制端配置
1.安装fedora发布的epel yum源,
rpm –Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
如果下载地址失效可以从这里针对自己的版本进行下载
http://fedoraproject.org/wiki/EPEL
2.安装func
func基于certmaster,本次会一同安装,都在epel源里,我这里安装的时候提示少个依赖包python-simplejson,网上搜了一个(如果你的源里有的话可以不用下载)
wget ftp://ftp.pbone.net/mirror/ftp.centos.org/5.9/os/i386/CentOS/python-simplejson-2.0.9-8.el5.i386.rpm
rpm -ivh python-simplejson-2.0.9-8.el5.i386.rpm
yum install func
3.配置certmaster
vi/etc/certmaster/certmaster.conf
#configuration for certmasterd and certmaster-ca
[main]
autosign= no
listen_addr= 192.168.15.188 #监听IP,也可以不写
listen_port= 51235 #监听端口,自己定义
cadir =/etc/pki/certmaster/ca
cert_dir= /etc/pki/certmaster
certroot= /var/lib/certmaster/certmaster/certs
csrroot =/var/lib/certmaster/certmaster/csrs
cert_extension= cert
sync_certs = False
###############################################################
4.iptables允许,启动certmaster服务
#func
/sbin/iptables -A INPUT -s 192.168.15.183 -p tcp --dport 51235 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.200 -p tcp --dport 51235 -j ACCEPT
注意:Master端是启动certmaster服务,被控制端是启动funcd服务
#/etc/init.d/certmaster start
二 minion被控制端
1.安装epel
版本5
wgethttp://mirrors.yun-idc.com/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm
版本6
rpm –Uvh http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm
2.安装func
同样,还是少这个包应该5.5及以下的系统版本会少】,如果你的系统没有报错缺少,可以跳过
wget ftp://ftp.pbone.net/mirror/ftp.centos.org/5.9/os/i386/CentOS/python-simplejson-2.0.9-8.el5.i386.rpm
rpm -ivh python-simplejson-2.0.9-8.el5.i386.rpm
yum install func
3.minions客户端配置
vi /etc/func/minion.conf
#configuration for minions
[main]
log_level= INFO

