Func系列1:安装配置
简介
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:安装配置的更多相关文章
- Robotframework-Appium系列:安装配置
1. Robotframework-android系列:安装配置 1.1. 安装环境 64位win10家庭中文版 1.1. 安装说明 网上robotframework-appium安装资料也不少, ...
- RobotFrameWork自动化系列:安装配置
1. RobotFrameWork安装配置 1.1. 安装环境 64位win10家庭中文版 网上很多这方面的教程,但是比较零散,这里是自己安装配置的一个简单的笔记. 1.2. 安装说明 由于Rob ...
- 【redis 学习系列】安装-配置-卸载Redis
一.安装 wget http://download.redis.io/releases/redis-3.0.7.tar.gz tar -zxf redis-.tar.gz ln -s redis- r ...
- Nginx技术研究系列3-OpenResty安装配置
上两篇中介绍了: Ngnix技术研究系列1-通过应用场景看Nginx的反向代理 Ngnix技术研究系列2-基于Redis实现动态路由 发现,应该加一篇OpenResty的安装部署说明,方便大家按图索骥 ...
- docker系列之安装配置-2
1.docker安装 1.CentOS Docker 安装 Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 目前,C ...
- docker系列之安装配置
由于docker支持内核3.8以上的,所以我们要安装centos7系统,这个系统的内核是3.10,来支持docker使用环境 一.用UItralSo制作u盘启动 打开找到要做u盘启动的镜像 二.安装C ...
- saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived
saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived 安装配置Keepalived 1.编写功能模块 #创建keepalived目录# mkdir -p ...
- saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy
saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy 下载haproxy1.6.2.tar.gz下载地址:http://www.haproxy.org/download/1. ...
- Hadoop 系列(二)安装配置
Hadoop 系列(二)安装配置 Hadoop 官网:http://hadoop.apache.or 一.Hadoop 安装 1.1 Hadoop 依赖的组件 JDK :从 Oracle 官网下载,设 ...
随机推荐
- CUDA 程序中的同步
前言 在并发,多线程环境下,同步是一个很重要的环节.同步即是指进程/线程之间的执行顺序约定. 本文将介绍如何通过共享内存机制实现块内多线程之间的同步. 至于块之间的同步,需要使用到 global me ...
- (基础篇)PHP与Web页面交互
PHP与Web页面交互是实现PHP网站与用户交互的重要手段.在PHP中提供了两种与Web页面交互的方法,一种是通过Web表单提交数据,另一种是通过URL参数传递. 这里我们将详细讲解表单的相关知识,为 ...
- Java-->一个只能运行十次的程序
--> 感觉没什么营养的样子啊... package com.dragon.java.tensoftware; import java.io.BufferedReader; import jav ...
- hdu2546 饭卡 01背包
link:http://acm.hdu.edu.cn/showproblem.php?pid=2546 也算一个贪心的想法吧. 先把总钱数减去5,再把价值最大的挑出来.然后用01背包.最终买下挑出来的 ...
- sgu546 Ternary Password
题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=546 这题还好,1Y,考虑情况周全,就没问题了,还好提交之前把想到的情况都测试了一遍 ...
- 通过laravel理解IoC(控制反转)容器和DI(依赖注入)
原文地址: http://www.insp.top/learn-laravel-container ,转载务必保留来源,谢谢了! 容器,字面上理解就是装东西的东西.常见的变量.对象属性等都可以算是容器 ...
- [译] AlphaGo 的确是一个大事件
[译] AlphaGo 的确是一个大事件 转自:http://www.jianshu.com/p/157a15de47df 字数3797 阅读696 评论0 喜欢4 作者:Michael Nielse ...
- QueryRunner使用
在相继学习了JDBC和数据库操作之后,我们明显感到编写JDBC代码并非一件轻松的事儿.为了帮助我们更高效的学习工作,从JDBC的繁重代码中解脱出来,老佟给我们详尽介绍了一个简化JDBC操作的组件——D ...
- lucene 基本原理整理
基本原理:http://www.cnblogs.com/forfuture1978/archive/2009/12/14/1623594.html 所有过程:http://www.cnblogs.co ...
- Mysql函数FIND_IN_SET()的使用方法
有了FIND_IN_SET这个函数.我们可以设计一个如:一只手机即是智能机,又是Andriod系统的. 比如:有个产品表里有一个type字段,他存储的是产品(手机)类型,有 1.智能机,2.Andri ...