ansible安装配置及简单使用(MacOs下)

一、推荐学习资料

1、ansible中文指南:Variables — 国内最专业的Ansible中文官方学习手册

2、视频教程:ansible教程-马哥2019全新ansible入门到精通_哔哩哔哩_bilibili

二、MacOs下ansible的安装及配置

1、存在的问题:brew install出现反复超时

2、故采用pip3安装(具体pip3的安装及配置不做赘述,网上教程超级多)

  • sudo利用root权限执行
    sudo pip3 install ansible

    通过 pip 安装ansible存在一个小问题,它没有自动生成的配置文件,需要自己手动配置。

  • 新建 /etc/ansible/ansible.cfg,ansible.cfg的文件参数可以参考​​​​​​Ansible自动化运维-Ansible安装与配置_武培轩-CSDN博客https://blog.csdn.net/qq_27276045/article/details/106825982
  • 然后创建/etc/ansible/hosts,可通过下述命令编辑hosts文件and设置主机组信息
    vim /etc/ansible/hosts
  • 测试ansible是否成功安装
    ansible --version

三、简单操作

1、远程连接Linux主机

(1)配置SSH无密码访问+hosts文件主机组

  • 生成密钥,本机执行
    ssh-keygen
  • 下发公钥到欲控制的Linux主机IP上
    ssh-copy-id LinuxUsername@LinuxIP
  • 可通过下述命令进行ssh连接验证
    ssh LinuxUsername@LinuxIP
  • 利用ansible命令ping上述Linux主机
    ansible -u LinuxUsername LinuxIP -m ping

    若不需要输入密码进入,且出现绿色的SUCCESS反馈,表示配置成功,如下图。ansible安装配置及简单使用(MacOs下)_第1张图片

  • hosts文件主机组配置,示例如下
    [webservers]
    192.168.11.11
    192.168.12.12
    192.168.13.13
  • 利用ansible命令ping hosts主机组内的IP
    ansible webservers -m ping -u LinuxUser

(2)通过hosts文件主机组直接编写主机清单inventory

  • hosts文件格式如下
    [webservers]
    001 ansible_ssh_host=192.168.11.11 ansible_ssh_user=LinuxUsername ansible_ssh_pass=密码 vps_id=1
    002 ansible_ssh_host=192.168.12.12 ansible_ssh_user=LinuxUsername ansible_ssh_pass=密码 vps_id=2
    003 ansible_ssh_host=192.168.13.13 ansible_ssh_user=LinuxUsername ansible_ssh_pass=密码 vps_id=3
  • 直接执行下述命令,就可测试webservers主机组是否连通
    ansible webservers -m ping

2、playbook简单命令编写

---
- hosts: dbservers
  remote_user: "{{ ansible_ssh_user }}"
  become: yes
  become_exe: sudo
  gather_facts: no
  
  tasks:
    - name: 文件拷贝
      copy: 
        src: /本机路径/文件名.txt
        dest: /远端主机路径
    - name: 远端执行cmd命令
      shell: 远端cmd命令
    - name: 执行远端指定路径的Python文件
      shell: cd /远端路径;python3 文件名.py;
    - name: 从远端拉取文件到本机
      fetch:
        src: /远端主机路径/文件名.txt
        dest: /本机路径
        flat: yes

你可能感兴趣的:(macos,运维,ssh)