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. HTML DOM scrollTo()方法

    一. 作用 scrollTo()方法可把内容滚动到指定的坐标 二. 语法 scrollTo(x, y)   其中参数x为要在窗口文档显示区左上角显示的文档的x坐标, y为要在窗口文档显示区左上角显示的 ...

  2. 关于const_cast转换

    第一次看到const_cast转换,将const指针转换成普通的指针.很自然的想到:什么时候用const_cast?为什么要用它?这根const不是相互矛盾吗? (const_cast<ICef ...

  3. LeetCode OJ:Same Tree(相同的树)

    Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...

  4. python主函数

    Python的人会很不习惯Python没有main主函数. 这里简单的介绍一下,在Python中使用main函数的方法 #hello.py def foo(): str="function& ...

  5. 如何使用SOCKET 发送HTTP1.1 GET POST请求包

    http://blog.csdn.net/yc0188/article/details/4741871 http://docs.linuxtone.org/ebooks/C&CPP/c/ch3 ...

  6. 我的 Linux 配置

    系统版本 Ubuntu 18.04 一名老年弱智 OI 选手的 Linux 配置 文本编辑器: Sublime Text 中文补丁,关闭自动补全,自动联想,括号匹配,字号 15 编译器: g++ (然 ...

  7. Vue forms

    Vue forms Vue 的表单. 表单中的数据和是双向绑定的. 你可以使用 v-model 对控件元素进行数据双向绑定. 比较有用的修饰符 .lazy .number .trim

  8. docker registry 镜像删除

    registry:2.5.0版本的镜像,将镜像默认存放在了/var/lib/registry 目录下 /var/lib/registry/docker/registry/v2/repositories ...

  9. 动态规划算法(后附常见动态规划为题及Java代码实现)

    一.基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移.一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划. 二.基本思想与策略 基本 ...

  10. 自定义mysql函数时报错,[Err] 1418 - This function has none of DETERMINISTIC......

    今天在我执行自定义mysql函数的SQL时发生了错误,SQL如下: /** 自定义mysql函数 getChildList */delimiter //CREATE FUNCTION `pengwif ...