简介

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

Func具有以下特点:

支持在主控机上管理任意多台服务器,或任意个服务器组;

支持命令行方式发送远程命令或远程获取数据;

Func通信基于XMLRPC和SSL标准协议,具有模块化的可扩展特点;

可以通过Kickstart预安装到系统中,自动注册到主控服务器端;

任何人都可以通过Func提供的Python API轻松编写自己的模块,以实现具体功能的扩展。而且任何Func命令行能完成的工作,都能通过API编程实现;

提供封装大量通用的服务器管理命令模块;

Func平台没有与数据库关联,不需要复杂的安装与配置,服务期间安全证书的分发都是自动完成的;

安装配置

Func是由三部分构成:func、certmaster、pyOPenSSL

主控端:(192.168.1.22)

安装:

yum install func -y
chkconfig certmaster on

在设备通信上Func要求使用主机名来识别,在没有内部域名解析服务的情况下,可通过配置主机hosts来解决主机名的问题。

【/etc/hosts】

127.0.0.1    localhost
192.168.1.21 test
192.168.1.22 wx

配置:

修改/etc/certmaster/minion.conf的certmaster参数,指向证书服务器(即主控端服务器)

【/etc/certmaster/minion.conf】

# configuration for minions
[main]
certmaster = wx #设置证书服务器(主控端服务器)的主机名
certmaster_port = 51235
log_level = DEBUG
cert_dir = /etc/pki/certmaster

防火墙:

开通192.168.1.0/24网段访问证书服务51235(certmaster服务)端口

iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 51235 -j ACCEPT

被控端:(192.168.1.21)

安装:

yum install func -y
chkconfig funcd on

配置:

修改/etc/certmaster/minion.conf的certmaster参数,指向证书服务器(即主控端服务器),以便向证书服务器发出签名请求,建立信任关系

【/etc/certmaster/minion.conf】

# configuration for minions
[main]
certmaster = wx #设置证书服务器(主控端服务器)的主机名
certmaster_port = 51235
log_level = DEBUG
cert_dir = /etc/pki/certmaster

修改/etc/func/minion.conf的minion_name参数,作为备用主机的唯一标识,一般使用主机名

【/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 = test #被控主机唯一标识(主机名)
method_log_dir = /var/log/func/methods/

防火墙:

开通192.168.1.22(主控服务器)访问本机(localhost)51234(func服务)端口

iptables -I INPUT -s 192.168.1.22 -p tcp --dport 51235 -j ACCEPT

证书签名

在主控端获取当前请求证书签名的主机清单

#命令:
certmaster-ca --list #结果:
test

主控端通过被控端的证书签名请求
命令:

certmaster-ca --sign test #通过单个主机的请求
certmaster-ca --sign `certmaster-ca --list` #通过命令组合来批量完成主机证书签名请求

Func也提供了自动签名机制

【/etc/certmaster/certmaster.conf】

autosign = yes #默认为no,将其改为yes后即可自动进行签名认证

查看已完成签名的主机

func '*' list_minions

删除签名主机:

certmaster-ca -c test(主机名)

校验安装、任务签名是否正确:

func '*' ping

#结果:
[ ok ... ] wx

对已经注销的被控主机,重新进行注册(以被控主机test为例):先删除被控主机端的证书认证文件,在重新进行请求

rm -rf /etc/pki/certmaster/test.*
certmaster-request

参考资料:

根据刘天斯《Python自动化运维技术与最佳实践》整理

Func系列1:安装配置的更多相关文章

  1. Robotframework-Appium系列:安装配置

    1.   Robotframework-android系列:安装配置 1.1. 安装环境 64位win10家庭中文版 1.1. 安装说明 网上robotframework-appium安装资料也不少, ...

  2. RobotFrameWork自动化系列:安装配置

    1.   RobotFrameWork安装配置 1.1. 安装环境 64位win10家庭中文版 网上很多这方面的教程,但是比较零散,这里是自己安装配置的一个简单的笔记. 1.2. 安装说明 由于Rob ...

  3. 【redis 学习系列】安装-配置-卸载Redis

    一.安装 wget http://download.redis.io/releases/redis-3.0.7.tar.gz tar -zxf redis-.tar.gz ln -s redis- r ...

  4. Nginx技术研究系列3-OpenResty安装配置

    上两篇中介绍了: Ngnix技术研究系列1-通过应用场景看Nginx的反向代理 Ngnix技术研究系列2-基于Redis实现动态路由 发现,应该加一篇OpenResty的安装部署说明,方便大家按图索骥 ...

  5. docker系列之安装配置-2

    1.docker安装 1.CentOS Docker 安装 Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 目前,C ...

  6. docker系列之安装配置

    由于docker支持内核3.8以上的,所以我们要安装centos7系统,这个系统的内核是3.10,来支持docker使用环境 一.用UItralSo制作u盘启动 打开找到要做u盘启动的镜像 二.安装C ...

  7. saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived

    saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived 安装配置Keepalived 1.编写功能模块 #创建keepalived目录# mkdir -p ...

  8. saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy

    saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy 下载haproxy1.6.2.tar.gz下载地址:http://www.haproxy.org/download/1. ...

  9. Hadoop 系列(二)安装配置

    Hadoop 系列(二)安装配置 Hadoop 官网:http://hadoop.apache.or 一.Hadoop 安装 1.1 Hadoop 依赖的组件 JDK :从 Oracle 官网下载,设 ...

随机推荐

  1. 尽量多的以 const/enum/inline 替代 #define

    前言 在面向过程语言,如 C 语言中,#define 非常常见,也确实好用,值得提倡.但在如今面向对象的语言,如 C++ 语言中,#define 就要尽量少用了. 为何在 C++ 中就要少用了呢? 这 ...

  2. ZOJ 1041 Transmitters

    原题链接 题目大意:有一个发射站,覆盖范围是半径一定的一个半圆.在一个1000*1000平方米的地盘里有很多接收站.给定发射站的圆心,求最佳角度时能覆盖接收站的个数. 解法:本质上就是给一个原点和其他 ...

  3. ES6 — 数组Array

    ES6对数组引入了几个新函数: (1) Array.of() 作用是将一组数值,转换为数组. Array.of(1,2,3,4); //[1,2,3,4] (2) Array.from() 作用是把类 ...

  4. 团队项目计划backlog

    一.团队成员 组长: 程琪芩:http://www.cnblogs.com/chengqiqin07/ 成员: 郝  颖:http://www.cnblogs.com/haoying1994/ 李  ...

  5. hdu4632 Palindrome subsequence ——区间动态规划

    link:http://acm.hdu.edu.cn/showproblem.php?pid=4632 refer to: o(╯□╰)o……明明百度找的题解,然后后来就找不到我看的那份了,这位哥们对 ...

  6. C#部分---二维数组、split分割;

    二维数组定义方式: int[,] array = new int[3, 4]{ {1,2,3,4}, {3,4,5,6}, {5,6,7,8} };                  3表示,有三个一 ...

  7. leetcode 149. Max Points on a Line --------- java

    Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...

  8. Linux磁盘空间被未知资源耗尽【转】

    Linux磁盘空间被未知资源耗尽 在linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间, ...

  9. 常见半监督方法 (SSL) 代码总结

    经典以及最新的半监督方法 (SSL) 代码总结 最近因为做实验需要,收集了一些半监督方法的代码,列出了一个清单: 1. NIPS 2015 Semi-Supervised Learning with ...

  10. 套接字I/O模型-完成端口IOCP

    “完成端口”模型是迄今为止最为复杂的一种I/O模型.然而,假若一个应用程序同时需要管理为数众多的套接字,那么采用这种模型,往往可以达到最佳的系统性能!但不幸的是,该模型只适用于Windows NT和W ...