zoukankan      html  css  js  c++  java
  • ansible组件——Ad-hoc

    Ansible提供了两种管理工具:Ad-Hoc和playbook。
    Ad-Hoc类似于shell命令,playbook类似于shell脚本,是对于Ad-Hoc命令的执行。
    Ansible自带了非常多的模块,使用Ansible-doc -l可以显示Ansible所有的自带模块。

    在Ansible1.9中,自带模块只有200多个,而最新的版本中已经有了2000多个,不得不说Ansible这个开源工具发展之迅速。
    下面展示部分:

    如果你要查看某个模块的帮助信息:ansible-doc ***

    需要注意的是:使用Ad-Hoc命令,有些插件和模块的功能无法使用。

    1.执行命令

    我们最常使用的模块是shell模块

    需要说明的是,Ansible的命令都是并发执行的:
      forks = 5
    默认是启动5个进程来执行任务。当配置的机器比较多的时候,比如1000台主机,5个肯定不够用,
    但是线程本身就非常的耗费资源,当机器比较多的时候也许Ansible就有另外的用法。
    使用多线程会直接影响Ansible的执行速度,我们可以通过下面示例看出:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    import time
    import os
    
    
    def run(num):
        start_time = time.time()
        ret = os.system('ansible servers -m shell -a "uname -r" -o -f %d'%num)
        run_time = time.time() - start_time
        print("run_time:",run_time)
    
    if __name__ == "__main__":
        run(2)

    现在有两台机器,当开启一个进程时耗时2.2秒

    当开启两个进程的时候,耗时1.5秒

    虽然执行效率并没有随着进程数量呈线性增长,但是确实有提升。

    既然可以并发执行,Ansible也支持异步执行:-P选项

    使用异步执行的之后,不会马上返回结果,会返回job_id,我们可以根据job_id来查询结果。

    当-P大于0的时候,Ansible会根据job_id自动轮询获取结果。

    2.复制文件

    查看原始目录:

    使用ansible复制:

    src:本地路径
    dest:目标路径

    结果查看:

    copy模块当然还有许多其它的功能,比如group指定属组,mode指定权限等。
    更多关于copy模块的信息可以查看官网:https://docs.ansible.com/ansible/latest/modules/copy_module.html#copy-module

    3.包和管理服务

    (1)使用ansible安装apache

    安装apache:

    启动apache:

    验证服务运行情况:

    在使用yum模块的时候,发现ansible会默认使用服务器的“python”命令,如果此时python是python3就会报错。

    (2)使用mysql安装myriadb
    安装:
      ansible centos02 -m yum -a "name=mariadb-server state=lates
    启动:
      ansible centos02 -m systemd -a "name=mariadb state=started"
    查看:
      ansible centos02 -m shell -a "netstat -nltp|grep 3306"

    4.用户管理

  • 相关阅读:
    java 堆栈 附图
    synchronized、volatile关键字
    Swift随笔
    java |、&、~、>>、<<运算符的作用。
    java双向链表示意图
    java单链表
    List集合的过滤之lambda表达式
    SQL hint作用
    创建触发器的一般语法
    多线程创建方式
  • 原文地址:https://www.cnblogs.com/yangmingxianshen/p/12656369.html
Copyright © 2011-2022 走看看