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/ –p tcp - - dport  –j ACCEPT

  至此,主控端配置完毕。

  2、 被控端安装,安装主机分别为node1和node2

    1)  安装func

 $ sudo yum install epel-release –y
$ sudo yum install func -y

    2)  配置hosts信息

$ sudo vim /etc/hosts

---------------------------------------->

 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参数

 $ sudo vim /etc/func/minion.conf

------------------------------------------------------------>

 # configuration for minions

 [main]
log_level = INFO
acl_dir = /etc/func/minion-acl.d listen_addr =
listen_port =
minion_name = node1
method_log_dir = /var/log/func/methods/

    5)  启动func服务

 $ sudo systemctl start funcd
$ 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) 查看已签名的主机名

 $ sudo func “*” list_minions

    4) 删除主机签名

 $ 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”

centos7部署func的更多相关文章

  1. gRPC学习之一:在CentOS7部署和设置GO

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. [原]CentOS7部署osm2pgsql

    转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 部署Postgresql和部署PostGis请参考前两篇文章 本文主要参考GitHub上osm ...

  3. centos7 部署ssserver

    centos7 部署shadowsocks服务端 为什么要选centos7? 以后centos7 肯定是主流,在不重要的环境还是尽量使用新系统吧 centos7 的坑 默认可能会有firewall 或 ...

  4. centos7 部署 docker compose

    =============================================== 2019/4/10_第1次修改                       ccb_warlock == ...

  5. centos7 部署 docker ce

    =============================================== 2019/4/9_第1次修改                       ccb_warlock === ...

  6. centos7 部署 open-falcon 0.2.0

    =============================================== 2019/4/29_第3次修改                       ccb_warlock 更新 ...

  7. centos7 部署 docker、shipyard

    =============================================== 2019/4/9_第3次修改                       ccb_warlock 更新说 ...

  8. centos7 部署 docker swarm

    =============================================== 2019/4/9_第3次修改                       ccb_warlock 更新说 ...

  9. CentOS7部署Nginx

    CentOS7部署Nginx 1.准备工作 Nginx的安装依赖于以下三个包,意思就是在安装Nginx之前首先必须安装一下的三个包,注意安装顺序如下: 1 SSL功能需要openssl库,直接通过yu ...

随机推荐

  1. mindmanager思维导图软件

    Mindjet 由原名 Mindjet MindManager 简化而来,是倍受赞誉.最好的思维导图软件.所谓思维导图实际上就是一种将你的思想具体化,把你的思维分析整理为有计划有条理的导向图的工作管理 ...

  2. Python爬虫之利用BeautifulSoup爬取豆瓣小说(三)——将小说信息写入文件

    #-*-coding:utf-8-*- import urllib2 from bs4 import BeautifulSoup class dbxs: def __init__(self): sel ...

  3. ajax返回的值有两种方法,一种是把async:true改为false。 另一种是回调函数。

    function load_val(callback){//定义一个回调函数 $.getJSON('test.php' , function(dat){ callback(data);//将返回结果当 ...

  4. 编写高效的CSS选择器

    高效的CSS已经不是一个新话题,也不是一个我非得重拾的话题,但是,它却是自我在SKY工作以后,真正感兴趣并始终关注的一个话题. 很多人或者忘记了,或者仅仅是没有意识到,CSS可以是高效的也可能导致低能 ...

  5. 条款51:编写new以及delete的时候需要固守常规

    C++中delete一个指针之后,只是回收指针指向位置的空间,而指针本身的值不变.你需要手工将其赋值为NULL.注意的一点是delete NULL指针的时候不会有任何的事情发生   小结:     o ...

  6. 20165210 Java第一周学习总结

    20165210 2018<Java程序设计>第一周总结 教材学习内容总结 第一章知识要点 Java在当代需求量极高 Java程序不依赖平台 Java内置对多线程的支持 重点安装JDK 源 ...

  7. HTML实用案例(1)—— 左侧菜单,右侧内容的布局(带左侧菜单点击隐藏显示效果)

    效果图 代码部分 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" ...

  8. python 编码 —— codecs 库

    1. 对文件读写 import codecs fout = codecs.open('test.html', 'w', encoding='UTF-8') fout.write('<html&g ...

  9. fastCGI模块

    这个模块允许nginx同FastCGI协同工作,并且控制哪些参数将被安全传递.例: location / { fastcgi_pass localhost:9000; fastcgi_index in ...

  10. HDFS常用的Java Api详解

    转自:http://blog.csdn.net/michaelwubo/article/details/50879832 一.使用Hadoop URL读取数据 package hadoop; impo ...