部署Func/Certmaster平台[原创] 不指定

刘天斯 , 2010/03/10 11:40 , Func , 评论(15) , 阅读(49836) , Via 本站原创 | |
Func简介
      Func是由红帽子公司以Fedora平台统一网络控制器 Func(Fedora Unified Network Controller https://fedorahosted.org/func),目的是为了解决这一系列统一管理监控问题而设计开发的系统管理基础框架。 它是一个能有效的简化我们多服务器系统管理工作的工具,它很容易学习、很容易使用、也很容易被扩展,它功能强大而我们只需要非常非常少的配置和维护。
    Func分为master及slave两部分,master为主控端,slave为被控端。以下为两部分的安装配置说明
    FUNC模块学习笔记
========================Func 2.5版本安装文档[Master]=========================
环境要求
引用

Linux2.6内核
python2.5或以上(建议源码安装,系统自带的python2.3、2.4对func支持不好)


下载软件包

引用

wget http://people.fedoraproject.org/~alikins/files/certmaster/certmaster-0.25.tar.gz
wget http://people.fedoraproject.org/~alikins/files/func/func-0.25.tar.gz
wget http://ovh.dl.sourceforge.net/sourceforge/pyopenssl/pyOpenSSL-0.9.tar.gz

安装
引用

tar -zxvf pyOpenSSL-0.9.tar.gz
cd pyOpenSSL-0.9
/usr/local/bin/python setup.py install

tar -zxvf certmaster-0.25.tar.gz
cd certmaster-0.25
/usr/local/bin/python setup.py install

tar -zxvf func-0.25.tar.gz
cd func-0.25
/usr/local/bin/python setup.py install安装

ln -s /usr/local/bin/certmaster /usr/bin/certmaster
ln -s /usr/local/bin/certmaster-request /usr/bin/certmaster-request
ln -s /usr/local/bin/certmaster-ca /usr/bin/certmaster-ca
ln -s /usr/local/bin/certmaster-sync /usr/bin/certmaster-sync

ln -s /usr/local/bin/funcd /usr/bin/funcd
ln -s /usr/local/bin/func /usr/bin/func
ln -s /usr/local/bin/func-create-module /usr/bin/func-create-module
ln -s /usr/local/bin/func-inventory /usr/bin/func-inventory
ln -s /usr/local/bin/func-transmit /usr/bin/func-transmit
ln -s /usr/local/bin/func-build-map /usr/bin/func-build-map

配置
引用

vi /etc/certmaster/certmaster.conf
[main]
autosign = no
listen_addr =

#证书交换通讯端口
listen_port = 1998

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

vi /etc/func/minion.conf
[main]
log_level = DEBUG
acl_dir = /etc/func/minion-acl.d

listen_addr =

#(Func通讯端口
listen_port = 1999
minion_name =


启动服务
service certmaster start


=============================2.5版本安装文档[slave]=========================
下载软件包
引用

wget http://people.fedoraproject.org/~alikins/files/certmaster/certmaster-0.25.tar.gz
wget http://people.fedoraproject.org/~alikins/files/func/func-0.25.tar.gz
wget http://ovh.dl.sourceforge.net/sourceforge/pyopenssl/pyOpenSSL-0.9.tar.gz

安装
引用

tar -zxvf pyOpenSSL-0.9.tar.gz
cd pyOpenSSL-0.9
/usr/local/bin/python setup.py install

tar -zxvf certmaster-0.25.tar.gz
cd certmaster-0.25
/usr/local/bin/python setup.py install

tar -zxvf func-0.25.tar.gz
cd func-0.25
/usr/local/bin/python setup.py install

ln -s /usr/local/bin/certmaster /usr/bin/certmaster
ln -s /usr/local/bin/funcd /usr/bin/funcd

配置
引用

vi /etc/certmaster/certmaster.conf
[main]
autosign = no
listen_addr =

#与master端口保持一致
listen_port = 1998
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

vi /etc/certmaster/minion.conf
[main]
certmaster = func.master.server.com

#与master端口保持一致
certmaster_port = 1998
log_level = DEBUG
cert_dir = /etc/pki/certmaster

vi /etc/func/minion.conf
[main]
log_level = DEBUG
acl_dir = /etc/func/minion-acl.d

listen_addr =

#与master端口保持一致
listen_port = 1999

#slave主机名
minion_name =NN2007-08-048

启动服务
/sbin/chkconfig --level 345 certmaster on
/sbin/service certmaster start

/sbin/chkconfig --level 345 funcd on
/sbin/service funcd start

*安装完毕后一定要重启服务器操作系统,不然服务器端有时看不到该主机的证书请求。

=============================Master端常用操作==============================
引用

func "*" call --forks="5" command run "date" 启用5个进程来执行date命令。
certmaster-ca --list 可以查看未签名的计算机名。
certmaster-ca --sign NN2004-02-008 对slave服务器进行签名(证书交换)。
certmaster-ca --sign `certmaster-ca --list ` 如证书请求的服务器比较多,可以这样一下子搞定。
certmaster-ca -c NN2004-02-008 删除该主机证书


=============================防火墙配置==============================
引用

Slave主机需对master开放1998(certmaster)、1999(func)端口
master需对所有Slave主机开放1998(certmaster)端口


如大家有什么疑问或感兴趣的话题可以通过weibo与我交流:http://t.qq.com/yorkoliu
Tags: ,
ifstillfly
2015/06/09 22:37
天斯哥,打扰了,最近在使用func,在centos上func运行正常,在ubuntu14.04上进行配置,没有报错,certmaster-ca --list可以看到从机,但是运行func命令,func "*" ping,func "*" check之类的命令时,都得不到任何结果,没有任何显示,也不报错,ubuntu上是不是还需要做其他操作,不知道你遇到过这个问题没有,我的func版本是官网下载的0.28。
hihi
2015/03/10 16:39
{'func.slave.server.com': ['REMOTE_ERROR',                           'func.minion.codes.InvalidMethodException',                           '',                           '  File "/usr/lib/python2.6/site-packages/func/minion/server.py", line 261, in _dispatch\n    return self.get_dispatch_method(method)(*params)\n   File "/usr/lib/python2.6/site-packages/func/minion/server.py", line 129, in get_dispatch_method\n    raise codes.InvalidMethodException\n']}   这是什么问题呢
记不住
2012/01/16 18:06
问题找到了,由于测试环境没有dns,需要手动写hosts,您的文档对新使用func帮助很大,谢谢
记不住
2012/01/16 17:40
您好,请问我按照您的方式装上了func,也已经将测试服务器func-slave加入了认证,但是执行命令的时候碰上了这种报错:
[root@test Python-2.5.2]# func "func-slave" call conmand run ls          
{'func-slave': ['REMOTE_ERROR',
                'socket.gaierror',
                "(-2, 'Name or service not known')",
                '  File "/usr/local/lib/python2.5/site-packages/func/overlord/client.py", line 468, in process_server\n    retval = getattr(conn, meth)(*args[:])\n   File "/usr/local/lib/python2.5/xmlrpclib.py", line 1147, in __call__\n    return self.__send(self.__name, args)\n   File "/usr/local/lib/python2.5/xmlrpclib.py", line 1437, in __request\n    verbose=self.__verbose\n   File "/usr/local/lib/python2.5/xmlrpclib.py", line 1183, in request\n    self.send_content(h, request_body)\n   File "/usr/local/lib/python2.5/xmlrpclib.py", line 1297, in send_content\n    connection.endheaders()\n   File "/usr/local/lib/python2.5/httplib.py", line 860, in endheaders\n    self._send_output()\n   File "/usr/local/lib/python2.5/httplib.py", line 732, in _send_output\n    self.send(msg)\n   File "/usr/local/lib/python2.5/httplib.py", line 699, in send\n    self.connect()\n   File "/usr/local/lib/python2.5/site-packages/certmaster/SSLCommon.py", line 106, in connect\n    self.sock.connect((self.host, self.port))\n   File "<string>", line 1, in connect\n']}
请问是您知道可能是什么原因造成的呢
绿茶
2011/10/24 18:21
刘哥:  我执行func命令提示如下,请指教下,谢谢[root@vm2 ~]# func "vm1.com.cn" call command cpu usage Traceback (most recent call last):  File "/usr/bin/func", line 28, in ?    ret = cli.parse(argv)  File "/usr/lib/python2.4/site-packages/func/overlord/command.py", line 252, in parse    return self.subCommands[command].parse(args[1:])  File "/usr/lib/python2.4/site-packages/func/overlord/cmd_modules/call.py", line 227, in parse    return base_command.BaseCommand.parse(self, argv)  File "/usr/lib/python2.4/site-packages/func/overlord/command.py", line 233, in parse    ret = self.do(args)  File "/usr/lib/python2.4/site-packages/func/overlord/cmd_modules/call.py", line 300, in do    self.getOverlord()  File "/usr/lib/python2.4/site-packages/func/overlord/base_command.py", line 55, in getOverlord    config=ol_config)  File "/usr/lib/python2.4/site-packages/func/overlord/client.py", line 526, in __init__    self.setup_ssl()  File "/usr/lib/python2.4/site-packages/func/overlord/client.py", line 546, in setup_ssl    myname = func_utils.get_hostname_by_route()  File "/usr/lib/python2.4/site-packages/func/utils.py", line 106, in get_hostname_by_route    s.connect_ex((server, port))  File "<string>", line 1, in connect_exsocket.gaierror: (-2, 'Name or service not known')
john Email
2011/09/20 12:14
你好 ,我安装完slave端后,我启动 service funcd start  发现并没用启动1999端口,同样启动master端的也没有效果。 1998(certmaster)启动成功。 安装上并没用报什么错误。我安装的环境是Centos 5.4。软件与文件中的一样。 这个肯能是那方面的问题。
刘天斯 回复于 2011/09/20 16:08
认证后再重启func服务。
河马
2011/08/31 15:42
你好,请问func0.25支持服务器分组吗?func "*" group --ag "newgroup"
刘天斯 回复于 2011/08/31 17:53
可以根据主机名来进行分组。
河马
2011/08/25 18:43
启动certmaster服务一直报错:Starting certmaster daemon: Traceback (most recent call last):  File \"/usr/bin/certmaster\", line 3, in <module>    from certmaster import certmasterImportError: No module named certmaster请问下是什么问题?gdbm-1.8.0-26.2.1gdbm-devel-1.8.0-26.2.1这两个包已经安装过的
刘天斯 回复于 2011/08/25 23:38
http://blog.liuts.com/post/120/ 见后续问题二。
feigu Email
2011/05/13 08:52
谢谢!! 经过仔细反复的观摩你的文档   我发现slave 有开funcd 服务 而master 没有开
不知道是不是这个问题??我现在certmaster-ca --list能看到了
刘天斯 回复于 2011/05/13 09:08
认证时两端的certmaster服务都要开启,认证后只要求slave端的funcd服务开启。
feigu Email
2011/05/12 17:29
你好! 我参照你的配置了下 出现如下情况  python 是升级到2.6.5的
[root@feikutest ~]# certmaster-ca --list
/usr/local/lib/python2.6/site-packages/certmaster/certmaster.py:25: DeprecationWarning: the sha module is deprecated; use the hashlib module instead
  import sha
No certificates to sign
刘天斯 回复于 2011/05/12 20:54
未发现有Slave主机的证书请求。
过人
2011/04/25 10:37
补充:客户端的certmaster是可以不需要启动的。只需要监听51234即可。
刘天斯 回复于 2011/04/25 11:55
是的,认证后客户端只需启用func服务。
燕奔 Email Homepage
2010/11/23 10:46
这个FUNC和CERTM的主目录LN -S的问题,我看了PYTHON INSTALL SETUP。PY的文件,里面都没有指向/ETC/LOCAL的目录。。后面的LN-S指向的命令后面还是找不着目录。。

再加一句,我用的是PYTHON2.6,跟这个有关系吗?PYTHON每个版本都有很大的差别,这东西太变态。。。。
刘天斯 回复于 2010/11/23 10:50
py2.6没有问题。
cheney Email Homepage
2010/05/27 01:50
func已经正常,谢谢!
刘天斯 回复于 2010/05/27 08:38
Good~
一生何求
2010/03/16 18:17
请问,func能在centos下用吗,我安装了,启动时不报任何错,但也没有进程
刘天斯 回复于 2010/03/16 20:09
可以的,请检查/var/log/func下相关日志。
Robin
2010/03/10 17:11
Hi,请问Masterp这边要不要装func的?如果不装的话,如何能控制slave?
刘天斯 回复于 2010/03/10 19:31
要安装的,同步、刷新配置用到。
分页: 1/1 第一页 1 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]