zoukankan      html  css  js  c++  java
  • 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自动化运维技术与最佳实践》整理

  • 相关阅读:
    计算机最小单位
    api接口调用
    STM32SystemInit函数
    关于 Verilog 的 TimeScale
    破获ARM64位CPU下linux crash要案之神技能:手动恢复函数调用栈
    芯片后仿
    破获ARM64位CPU下linux crash要案之神技能:手动恢复函数调用栈
    HardFault定位方法和步骤
    BSP和SDK的区别
    armCPSR寄存器
  • 原文地址:https://www.cnblogs.com/MacoLee/p/5776869.html
Copyright © 2011-2022 走看看