Func 有一个长长的功能特性列表,大致要点如下:
• Func 可以让你在主控机上一次管理任意多台服务器,或任意多个服务器组。
• Func 基于 Certmaster(https://fedorahosted.org/certmaster/)建立了 Master – Slaves 主从 SSL 证书管控体系,可以将证书自动分发到所有受控服务器。新装服务器也可以在 Kickstart 文件中自动安装 Func,自动注册到主控服务器。
• Func 命令行可以直接发送远程命令或者远程获取数据。
• Func 开发者已经完成了大多数常用任务模块的开发:CommandModule、FileTrackerModule、JBossModule、 IPtablesModule、HardwareModule、MountModule、NagiosCheck、NetappModule、 NetworkTest、ProcessModule、ServiceModule、SysctlModule、RebootModule、 RpmModule、VirtModule、YumModule 等等,这些模块的作用都可以顾名思义,或者参考: https://fedorahosted.org/func/wiki/ModulesList 。
• 任何人都可以通过 Func 提供的 Python API 轻松编写自己的模块,以实现具体功能扩展。而且任何 Func 命令行能完成的工作,都能通过 API 编程实现。
• Func 通讯基于 XMLRPC 和 SSL 标准协议。
master:
01 | tar -zxvf pyOpenSSL-0.9.tar.gz |
03 | python setup.py install |
05 | tar -zxvf certmaster-0.25.tar.gz |
07 | python setup.py install |
09 | tar -zxvf func-0.25.tar.gz |
11 | python setup.py install |
master上默认配置就可以
08 | cadir = /etc/pki/certmaster/ca |
09 | cert_dir = /etc/pki/certmaster |
10 | certroot = /var/lib/certmaster/certmaster/certs |
11 | csrroot = /var/lib/certmaster/certmaster/csrs |
19 | certmaster = certmaster |
20 | certmaster_port = 51235 |
22 | cert_dir = /etc/pki/certmaster |
slave: 安装重复master的安装步骤
配置如下:
06 | certmaster_port = 51235 |
08 | cert_dir = /etc/pki/certmaster |
15 | acl_dir = /etc/func/minion-acl.d |
22 | service certmaster start |
ok了,可以使用了
• 查看当前有哪些服务器注册到主控机: func ‘*’ ping
• 查看所有服务器的硬件信息: func ‘*’ call hardware info
• 查看所有服务器上的 80 端口是否开启: func ‘*’ call networktest isportopen localhost 80
• 查看 blade-5 上的系统负载: func ‘blade-5′ call command run /usr/bin/uptime
• 启动 blade-6 上的 httpd 服务: func ‘blade-6′ call service start httpd
• 在所有服务器上统一挂载某个存储目录: func ‘*’ call mount xxx:/yyy/zzz /path/to/dir