zoukankan      html  css  js  c++  java
  • Ansible常用功能

    Ansible 是近几年十分流行的DevOps工具
    架构什么的我就不在这里赘述了,网上一找一堆

    这里写点我在ansible常用功能

    1、命令串

    #copy文件
    #ansible host文件中的主机组 -m 模块名 -a "src=ansible主控绝对路径 dest=被控绝对路径"
    ansible study -m copy -a "src=/study-a/123.txt dest=/study-b/123.txt"
    
    #shell命令
    #ansible host文件中的主机组 -m 模块名 -a shell命令
    ansible study -m shell -a "ls -al /study"
    
    #command 执行非系统默认命令,如:jps
    ansible study -m command -a "jps"
    
    #script执行脚本
    #ansible host文件中的主机组 -m 模块名 -a ansible主控机脚本所在绝对路径
    ansible study -m script -a "/study/superpython.py"

    2、playbook书写格式

    注:破编辑器没有yaml

    yaml 无法识别tab产生的空格,惯用vim写python的童鞋 必定深受茶毒,我就是个例子

    1 --- #可有可无
    2 - hosts: study #hosts: 是固定格式。study是hosts配置文件中定义的主机组
    3   tasks: #任务,有模板定义的操作列表
    4   - name: Copy shellscript.sh #- name:必不可少,否则检测不通过。这行就是一个描述作用
    5     copy: #执行copy 操作。如果你需要其他操作,ansible-doc -l 里面是可以写入playbook的,其他的不行
    6       #一下内容为参数
    7       src: /abc/123.sh #文件原路径,本机路径
    8       dest: /cde/123.sh #文件目的路径,拷贝到目标主机
    9       mode: 0644

    playbook 异常处理

    在执行一些升级脚本时往往无法得到正常的结果,但是我们已经完成了所有的任务。
    如果ansible遇见错误就会中断tasks,那么我们就需要在tasks中添加忽略错误
    1 ---
    2 - hosts: study
    3   tasks:
    4   - name: execute glibc-update.sh
    5     script: /study/glibc-update.sh
    6     ignore_errors: yes #这里对异常做了处理,遇见error也能继续执行
    7   - name: test
    8     shell: echo "Hello Python"
    1 #playbook执行
    2 #ansible-playbook playbook文件 -f 并发进程数,注意这里并发的是进程数,不是异步,设置的时候请考量自己运维主控机计算资源
    3 ansible-playbook  study.yaml -f 2
  • 相关阅读:
    使用ZeroMQ(clrzmq)实现异步通信
    WCF扩展之实现ZeroMQ绑定和protocolBuffer消息编码(一)概要设计
    .net 数据缓存(二)之Redis部署
    .net 数据缓存(一)之介绍
    如果css足够强大了,你还会用编程的方式实现去实现css已有的功能吗?
    我想做一个合格的工程师
    当新手使用JS库遇到问题怎么办
    JS(JavaScript)脚本库的积累
    ASP.NET MVC 必备开发环境
    z-albert之开启博文之路
  • 原文地址:https://www.cnblogs.com/shangmo/p/9058400.html
Copyright © 2011-2022 走看看