• playbook简单学习


     补充介绍 echo 以及双引号跟单引号的区别

      echo `date +%F`
      echo $(date +%F)
      a=10
      echo '$a'
      $a
      echo "$a"
      10

      

      playbook需要严格的遵循yaml规范

        yaml基本规范

        - 冒号后面必须有空格
        - 横线后面必须要空格
        - 严格保持对齐
        - 等号前面不能有空格?

     

       字典 key:value

      列表 [] -(列表有两种表示方式,一般使用第一种-方式表示)

      - alex
      - wusir
      - yantao
      - yuchao
      [alex,wusir,yantao,yuchao]

    playbook格式

      ansible-playbook -h(查看帮助信息)

      

      比较重要的一些参数:

        Usage: ansible-playbook [options] playbook.yml [playbook2 ...]
          -C, --check #白跑,执行但是不会有结果
        --list-hosts #列出符合的主机
        -f FORKS, --forks=FORKS #做并发
        --syntax-check #检查语法
        -k, --ask-pass #输入密码

      

      文件内容写入格式:

        单个playbook

        - hosts: web
          remote_user: root
          tasks:
          - name: createuser
            user: name=alex20 home=/opt/alex20 uid=4000

        

        多个playbook

          - hosts: web
             remote_user: root
             tasks:
             - name: createuser
             user: name=alex20 home=/opt/alex20 uid=4000
           - name: copyfile
            copy: src=/etc/fstab dest=/tmp/fs

        

      幂等性 不管执行多少次,得到的结果都是一样的

      

        - hosts: web
          remote_user: root
          tasks:
          - name: createuser
          user: name=alex20 home=/opt/alex20 uid=4000
          - name: copyfile
         copy: src=/etc/fstab dest=/tmp/fs
        - hosts: db
        tasks:
                   - name: copyfile
                      copy: src=/etc/fstab dest=/tmp/fs

      五种传参方式

          第一种:

          

           第二种:

          

          第三种:

          

          第四种:

          

           第五种:

          

        优先级              -e > playbook > hosts

         setup

          参数名字

          ansible_all_ipv4_addresses #所有的ipv4地址
          ansible_all_ipv6_addresses #所有的ipv6地址
          ansible_architecture #系统的架构
          ansible_date_time #系统时间
          ansible_default_ipv4 #默认的ipv4地址
          address ip地址
          alias 网卡名称
          broadcast 广播地址
          gateway 网关
          netmask 子网掩码
          network 网段
          ansible_default_ipv6 #默认的ipv6地址
          ansible_device_links #系统的磁盘信息
          ansible_distribution #系统名称
          ansible_distribution_file_variety #系统的基于公司
          ansible_distribution_major_version #系统的主版本
          ansible_distribution_version #系统的全部版本
          ansible_dns #系统的dns 默认udp 端口53
          ansible_domain #系统的域 ldap
          ipv4 #ipv4地址
          ansible_env #系统的环境
          ansible_fqdn #系统的完整主机名
          ansible_hostname #系统的简写主机名
          ansible_kernel #系统的内核版本
          ansible_machine #系统的架构
          ansible_memtotal_mb #系统的内存
          ansible_memory_mb #系统的内存使用情况
          ansible_mounts #系统的挂载信息
          ansible_os_family #系统家族
          ansible_pkg_mgr #系统的包管理工具
          ansible_processor #系统的cpu
          ansible_processor_cores #每颗cpu的核数
          ansible_processor_count #cpu的颗数
          ansible_processor_vcpus #cpu的个数=cpu的颗数*每颗cpu的核数
          ansible_python #系统python信息
          ansible_python_version #系统python的版本
          ansible_system #系统名字

      tags    打一个标签,可以指定单独的标签运行

      

      handlers          被触发的任务,notify 触发

      

      template                      可以动态的传递参数,在setup获取

        绝对路径的写法

        

        相对路径的写法

        

        mv redis.conf{,.j2} = mv redis.conf redis.conf.j2 (两边一样的简写方法)

      

        yy 复制一行

        # yy 复制多行(yy前加参数代表复制多行)

        p 粘贴

        dd 删除一行

        # dd 删除多行(dd前加参数代表删除多行)

        d$ 从当前位置删除到结尾

      when     判断

        

        

       with_items   循环

        

        

        嵌套循环

        

  • 相关阅读:
    不常用的cmd命令
    js获取宽度
    Marshaling Data with Platform Invoke 概览
    Calling a DLL Function 之三 How to: Implement Callback Functions
    Marshaling Data with Platform Invoke 之四 Marshaling Arrays of Types
    Marshaling Data with Platform Invoke 之一 Platform Invoke Data Types
    Marshaling Data with Platform Invoke 之三 Marshaling Classes, Structures, and Unions(用时查阅)
    Calling a DLL Function 之二 Callback Functions
    WCF 引论
    Marshaling Data with Platform Invoke 之二 Marshaling Strings (用时查阅)
  • 原文地址:https://www.cnblogs.com/Godisgirl/p/10826524.html
Copyright © 2020-2023  润新知