一、简介

二、安装

三、测试

一、简介

什么是Func?

Func是由红帽子公司以Fedora平台构建的统一网络控制器,是为解决集群管理、监控问题而设计开发的系统管理基础框架。它是一个能有效简化多服务器系统管理工作的工具,它易于学习,使用和扩展,功能强大,只需要极少的配置和维护操作。Func分为master和slave两部分,master为主控端,slave为被动端。

Func与Saltstack在主,被控端建立信任机制是一样的,都是采用了证书+签名的方式。

二、安装

2.1 业务环境说明

角色

主机名

IP

Master

controller

192.168.128.166

Minion

compute

192.168.128.165

系统:CentOS Linux release 7.4.1708 (Core)

2.2 安装Func

1.主控端服务器安装

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

[root@controller ~]# yum install -y func

[root@controller ~]# systemctl enable certmaster

[root@controller ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.128.166   controller

192.168.128.165   compute

修改配置文件/etc/certmaster/minion.conf把cermaster改为主控端的主机名

[root@controller ~]# vim /etc/certmaster/minion.conf

# configuration for minions

[main]

certmaster = controller

certmaster_port = 51235

log_level = DEBUG

cert_dir = /etc/pki/certmaster

启动证书服务:

[root@controller ~]# service certmaster start

Redirecting to /bin/systemctl start certmaster.service

[root@controller ~]# ss -lnt|grep 51235

LISTEN     0      5            *:51235                    *:*                 

添加防火墙:

[root@controller ~]# iptables -I INPUT -s 192.168.128.0/24 -p tcp --dport 51235 -j ACCEPT   

[root@controller ~]# iptables-save

2.被控端服务器安装

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

[root@compute ~]# yum install -y func

[root@compute ~]# systemctl enable funcd

[root@compute ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

# controller

192.168.128.166   controller

192.168.128.165   compute

修改配置文件/etc/certmaster/minion.conf把cermaster参数改为主控端的主机名,以便指向证书服务器发出签名请求,建立信任关系。

[root@compute ~]# vim /etc/certmaster/minion.conf

# configuration for minions

[main]

certmaster = controller

certmaster_port = 51235

log_level = DEBUG

cert_dir = /etc/pki/certmaster

修改/etc/func/minion.conf的minion_name参数,作为被控主机的唯一标识,一般使用主机名,配置如下:

[root@compute ~]# vim /etc/func/minion.conf

# configuration for minions

[main]

log_level = INFO

acl_dir = /etc/func/minion-acl.d

listen_addr =

listen_port = 51234

minion_name = compute

method_log_dir = /var/log/func/methods/

启动func服务:

[root@compute ~]# service funcd start

[root@compute ~]# iptables -I INPUT -s 192.168.128.166 -p tcp --dport 51234 -j ACCEPT

You have new mail in /var/spool/mail/root

[root@compute ~]# iptables-save

三、测试

3.1证书签名

在主控端运行certmaster-ca –list获取当前请求证书签名的主机清单,如:

[root@controller ~]# certmaster-ca --list

Compute

证书签名通过certmaster-ca –sign命令完成所有主机的签名操作,如:

[root@controller ~]# certmaster-ca --sign `certmaster-ca --list`

/var/lib/certmaster/certmaster/csrs/compute.csr signed - cert located at /var/lib/certmaster/certmaster/certs/compute.cert

Func也提供了类似Saltstack自动签名的机制,通过修改autosign来实现,如:

[root@controller ~]# vim /etc/certmaster/certmaster.conf

# configuration for certmasterd and certmaster-ca

[main]

autosign = yes

使用func '*' list_minions来查看已经完成签名的主机名,如:

[root@controller ~]# func '*' list_minions

Compute

校验安装、任务签名是否正确,通过func '*' ping命令来测试,如

[root@controller ~]# func '*' ping

[ ok ... ] compute

删除(注销)签名主机使用certmaster-ca –c hostname

对已经删除的被控端,要重新注册,先删除被控端/etc/pki/certmaster/下的证书文件,再运行certmaster-request进行证书请求,如:

[root@compute ~]# rm -fr /etc/pki/certmaster/compute.*

[root@compute ~]# /usr/bin/certmaster-request

统一网络控制器Func的更多相关文章

  1. 网络控制器intel 82599, powerpc 830的BD描述符结构

    一.Intel 82599的BD结构 1.文档名称“82599-10-gbe-controller-datasheet.pdf”,可以从intel官网上下载. https://www.intel.cn ...

  2. Pyhton开源框架(加强版)

    info:Djangourl:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 ...

  3. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  4. Linux 运维入门到跑路书单推荐

    一.基础入门 <鸟哥的Linux私房菜基础学习篇>:最具知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>,全面而详细地介绍了Linux操作系统. https://b ...

  5. 云时代IDC自动化运维的几大神器

    云时代IDC自动化运维的几大神器 2016年09月18日 10:27:41 天府云创 阅读数:1715   版权声明:本文为EnweiTech原创文章,未经博主允许不得转载. https://blog ...

  6. Python自动化运维:技术与最佳实践 PDF高清完整版|网盘下载内附地址提取码|

    内容简介: <Python自动化运维:技术与最佳实践>一书在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵.深和实践角度探讨Python在运维领域应用的著作:一方面本书的 ...

  7. Python自动化运维 技术与最佳实践PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书

    点击获取提取码:7bl4 一.内容简介 <python自动化运维:技术与最佳实践>一书在中国运维领域将有"划时代"的重要意义:一方面,这是国内第一本从纵.深和实践角度探 ...

  8. Func系列1:安装配置

    简介 Func是由红帽子公司以Fedora平台构建的统一网络控制器,是为解决集群管理.监控问题而设计开发的系统管理框架.它是一个能有效简化多服务多服务器系统管理工作的工具,它易于学习.使用和扩展,功能 ...

  9. centos7部署func

    Func(Fedora Unitied Network Controller)是红帽公司以Fedora平台构建的统一网络控制器,是为解决集群管理.监控问题而设计开发的系统管理基础框架.它是一个能有效简 ...

随机推荐

  1. IdentityServer(13)- 添加JavaScript客户端

    这个快速入门将展示如何构建一个JavaScript客户端应用程序. 用户将登录到IdentityServer,使用IdentityServer发出的访问令牌调用Web API,并注销IdentityS ...

  2. Elixir的Phoenix框架:请求处理之道

    本文基于Phoenix1.3,但请求的处理流程跟1.2基本一致,只是模块的命名和目录结构有所差异. 简单介绍,phoenix是一个网站框架,本质就是http请求处理.这篇文章主要就是讲一个请求,在结果 ...

  3. Java与算法之(2) - 快速排序

    快速排序的基本思路是,每次选定数列中的一个基准数,将小于基准数的数字都放到基准数左边,大于基准数的数字都放到基准数右边.然后再分别对基准数左右的两个数列分别重复以上过程.仍以4 3 6 2 7 1 5 ...

  4. deeplearning.ai 作业中的Python常用命令

    1. print大法 test = Hello World print ("test:" + test) 2. math和numpy的区别:math只对单个元素,numpy会bro ...

  5. lambdas了解

    Lambdas了解 功能接口的一个极其宝贵的特性是可以使用lambdas实例化它们.以下是一些关于lambdas的例子: 以逗号分隔的输入列表,左边是指定类型的输入,右边是返回的块:          ...

  6. hbmy周赛1--B

    B - 改革春风吹满地 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit  ...

  7. 拿到List<Map<String,String>>对用属性的值。。。。。。。

    list.get(i).get("orderNumber") 来拿到下面的对应属性的值

  8. UE4 custom depth 自定义深度

    用途1: 半透明材质中实现遮挡Mesh自己其他部分的效果. 不遮挡效果如下: 遮挡后效果如下: 实现方法: 深度信息是越远值越大,使用两个Mesh,一个正常渲染,另一个渲染到custom depth ...

  9. BC高精确度函数使用。

    bc是Binary Calculator的缩写.bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(string $left_operand, string ...

  10. Java数据持久层框架 MyBatis之背景知识二

    对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...