zoukankan      html  css  js  c++  java
  • Centos7 Ansible

    Ansible

    1) 安装Ansible

    # ansible的安装依赖于epel,参照centos7 yum源的更换
    yum install ansible -y 
    

    2) 配置ansible

    cd /etc/ansible
    # ls 查看内部 ansible.cfg hosts roles
    #备份hosts文件
    cp hosts{,.bak}
    
    # 添加inventory 主机清单
    vim /etc/ansible/hosts
    [webservers]
    192.168.122.150
    [dbservers]
    192.168.122.157
    
    

    3)ansible命令的使用方法

    如何查看ansible模块
    ansible-doc -l 
    查看具体模块的帮忙内容
    ansible-doc -s yum 
    
    copy 
    cron
    command
    
    example:
          1)默认执行的就是:command
          ansible webservers -m command -a 'date'
          ansible dbservers -m command -a 'tail -2 /etc/passwd'
          2)cron
          ansible webservers -m cron -a 'minute="*/10" job="/bin/echo hello" name="test cron job" state="present' #创建任务 state
          ansible webservers -m cron -a 'minute="*/10" job="/bin/echo hello" name="test cron job" state="absent' #移除任务
          3)user
          ansible all -m user -a 'name="user1"' 默认state="present" 创建
          ansible all -m user -a 'name="user1" state="absent"' 移除 
          ansible all -m user -a 'name=mysql uid=306 system=yes group=mysql'
          4) group
          ansible all -m group -a 'name=msyql gid=306 system=yes'
          5) copy
          src 本地源文件路径, dest远程绝对路径
          ansible all -m copy -a 'src=/etc/fstab dest=/tmp/fstab.ansible owner=root mode=640'
          content 直接写出需要的内容,重定向到远程目标地址
          ansible all -m copy -a 'content="hi my coming in" dest=/tmp/test.ansible'
          6)file
          设定文件属性
          ansible dbservers -m file -a 'owner=mysql mode=644 path=/tmp/fstab.ansible'
          创建链接
          ansible dbservers -m file -a 'src=/tmp/fstab.ansible path=/tmp/fstab.link state=link'
          7)ping
          测试指定主机是否可以连通
          8)service
          9)shell
          运行命令的模块类似command 但是当用到管道等复杂命令时采用shell
          ansible all -m shell -a 'echo user1 | passwd --stdin user1'
          10) script
          运行本地脚本复制到远程主机并运行
          ansible all -m script -a 'test.sh'  # 运行命令时,必须到该sh的目录下,不可用绝对路径
          11)yum
          ansible all -m yum -a 'name=zsh'
          ansible all -m yum -a 'name=zsh state=absent' # 卸载
          rpm -q zsh # 查看下安装与否
          12)setup
          收集远程主机的facts
          每个被管理节点在接收并运行管理命令之前,会将自己主机相关信息如操作系统,IP地址等报告给远程的ansible主机
          ansible all -m setup
    

    4) playbook

    # ansible 中使用YAML的基础元素:
    变量, Inventory 条件测试 迭代
    
    playbook的组成结构:
    Inventory
    modules
    ad hoc commands
    Playbooks:
          Tasks
          variables
          templeate
          handles 处理器 
          roles 
    
    
    - 
    


    roles:
    1) 目录名同角色名
    2)目录结构有固定格式:
    files:静态文件

      3)
  • 相关阅读:
    linux学习第一周笔记
    三授权六禁令(必背)
    内存复用三种技术
    移动平台路径相关
    unitUnity优化技巧
    游戏开发优化建议
    转载, unity 如何自定义脚本
    unity animation 在播放动画时报错 The animation state Eat could not be played because it couldn't be found!
    unity 学习之前需要做的准备
    xml 操作遇到的坑
  • 原文地址:https://www.cnblogs.com/persisit/p/13742709.html
Copyright © 2011-2022 走看看