• 剧本--ansible


    剧本不喜欢,

    1.1 编写剧本规范:(PYyaml语法格式文件)

         剧本中有层级划分

            每个层级都要用两个空格进行区分

            第一级标题

              第二级标题

                第三级标题

            强调注意:一定使用ansible软件配置剧本时,就忘记键盘上有tab按键

           

         属于冒号应用规则

            冒号 等价于  shell中变量后面的 =

            hosts:空格172.16.1.31

            注释说明中的冒号不用空格,以冒号结尾的信息,不用加空格

        

    短横线用法规则

            一级标题

              二级标题

              -空格二级标题中重点信息

              -空格二级标题中重点信息

       

        剧本编写方式

        01 多主机单任务编写方式

        02 多主机多任务编写方式

       

        rsync服务端主机

        01. 进行yum安装

        02. 编写配置文件

        03. 创建用户

        04. 创建备份目录并授权

        05. 创建秘钥文件,并授权

        06. 启动服务

       

        rsync客户端主机

        01. 进行yum安装

        02. 创建秘钥文件,并授权

        03 不同主机多任务编写方式

       

        ansible-playbook --syntax-check /etc/ansible/ansible-playbook/test.yaml  语法检查方法

        ansible-playbook -C /etc/ansible/ansible-playbook/test.yaml              进行模拟执行

       

    作业:编写ansible剧本

    01. 编写nfs一键化部署剧本

    02. 编写实时同步服务一键化部署剧本   

        

    1.2   ansible剧本编写规则说明

        pyYAML语法规则:

           规则一:缩进

        yaml使用一个固定的缩进风格表示数据层结构关系,Saltstack需要每个缩进级别由两个空格组成。一定不能使用tab键

        规则二:冒号

        CMD="echo"

        yaml:

        mykey:

        每个冒号后面一定要有一个空格(以冒号结尾不需要空格,表示文件路径的模版可以不需要空格)

        规则三:短横线

        想要表示列表项,使用一个短横杠加一个空格。多个项使用同样的缩进级别作为同一个列表的一部分

        核心规则:有效的利用空格进行剧本的编写,剧本编写是不支持tab的

          

        ---

        ### 剧本的开头,可以不写

        - hosts: all         <- 处理所有服务器,找到所有服务器;  -(空格)hosts:(空格)all

          task:              <- 剧本所要干的事情;                (空格)(空格)task:

            - command: echo hello oldboy linux.                  (空格)(空格)空格)(空格)-(空格)模块名称:(空格)模块中对应的功能

                 

        剧本编写内容扩展:剧本任务定义名称

           - hosts: 172.16.1.7  <- 处理指定服务器                   -(空格)hosts:(空格)all

             task:                <- 剧本所要干的事情;                (空格)(空格)task:

               - name:

              command: echo hello oldboy linux.                  (空格)(空格)空格)(空格)-(空格)模块名称:(空格)模块中对应的功能

        剧本编写内容扩展:剧本任务编写定时任务

           # ansible all -m cron -a "name='restart network' minute=00 hour=00 job='/usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'"

           - hosts: all

          tasks:

            - name: restart-network

              cron: name='restart network' minute=00 hour=00 job='/usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'

        # ansible-playbook -C /etc/ansible/network-restart.yml  -vvvx

           说明:测试剧本命令后面可以跟多个-v进行调试检查

          

           剧本编写内容扩展:剧本任务编写多个任务

           - hosts: all

          tasks:

            - name: restart-network

              cron: name='restart network' minute=00 hour=00 job='/usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'

            - name: sync time

              cron: name='sync time' minute=*/5 job="/usr/sbin/ntpdate pool.ntp.com >/dev/null 2>&1"

          

           剧本编写内容扩展:剧本任务编写多个主机

           - hosts: 172.16.1.7

          tasks:

            - name: restart-network

              cron: name='restart network' minute=00 hour=00 job='/usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'

            - name: sync time

              cron: name='sync time' minute=*/5 job="/usr/sbin/ntpdate pool.ntp.com >/dev/null 2>&1"

           - hosts: 172.16.1.31

          tasks:

            - name: show ip addr to file

              shell: echo $(hostname -i) >> /tmp/ip.txt

        **************************************************************************************

           扩展知识说明:vim编辑器使用说明

           01:复制当前行到最后一行的内容,然后粘贴到最后一行的后面

               :/172.16.1.31/,$copy$

                  :.,$copy$

         **************************************************************************************

  • 相关阅读:
    如何寻找第二大轮廓
    基础_模型迁移_CBIR_augmentation
    基础_模型迁移_CBIR_augmentation
    MQ通道配置
    WebSphere MQ 入门指南
    P2P小贷网站业务数据流程分享
    发博客后自动同步摘要到新浪微博
    Linux Shell脚本攻略 读书笔记
    Linux Shell 文本处理工具集锦
    Berkeley 四种产品如何选择?
  • 原文地址:https://www.cnblogs.com/zdqc/p/9435698.html
Copyright © 2020-2023  润新知