ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Ansible自动化入门

2021-04-09 18:04:56  阅读:153  来源: 互联网

标签:IP 入门 主机 ansible Ansible ssh 模块 自动化 清单


1、Ansible特点:   (1)开箱即用,使用ssh协议   (2)ansible一句话说明:无主无从架构,开箱即用,用完即走   (3)实际是使用ansible的各个模块对主机进行操作   (4)总结:       ansible的工作分成两大块           ① 主机           ② ansible本身的应用部分                   Ⅰ 使用模块对主机进行操作(核心模块和自定义模块)                   Ⅱ 主机清单,只有读取到主机清单才可以操作                   Ⅲ SSH连接                   Ⅳ 应用playbook完成复杂的应用部署工作 2、Ansible安装
ansible只需要在ansible controller节点(操作机)即可,其他节点可以通过SSH协议进行连接操作
    安装步骤:
    (1)安装epel-release YUM源,获取最新的ansible
         yum install epel-release -y
    (2)安装ansible
         yum install ansible -y
    (3)验证是否安装成功,使用root用户
         rpm -qa | grep ansible
3、主机清单     ansible controller 在对主机进行操作时,仅认主机清单中定义的主机列表,即从主机清单中读取到主机列表时,才可进行配置     (1)主机清单作用           Ⅰ 用于ansible controller配置主机时读取主机列表           Ⅱ 实现主机分组     (2)主机清单定义方法           Ⅰ 主机清单默认存储位置:               /etc/ansible/hosts           Ⅱ 定义方法1:直接在主机清单文件中写入主机IP或主机名(需要能够解析)               192.168.10.100               或               web1           Ⅲ 定义方法2:在主机清单文件中添加主机分组,然后把主机IP或主机名写入到分组内即可               [webgroup]               192.168.10.100               或               [webgroup]               web1     (3)总结:           Ⅰ 用于读取主机IP或主机名称           Ⅱ 实现主机分组           Ⅲ 直接在主机清单文件中添加IP或主机名           Ⅳ 在主机清单文件中添加一个分组,然后再添加IP或主机名到分组中 4、ansible应用案例     (1)使用ansible ping模块实现测试主机互通性         注意:ansible是通过ssh协议与其他主机通信的,如果ssh协议可以连接到其他主机就是通的,此时的ping其实是一个假象ping         Ⅰ ansible controller是通过ssh协议与其他主机进行通信的,如果主机量较多,不适合使用用户名和密码的方式,需要使用免密登录
#多主机之间实现免密登录
 ①在ansible controller主机生成密钥
     非交互式生成免密钥
     ssh-keygen -t rsa -f /root/.ssh/id_rsa -N ''
      交互式
     ssh-keygen -t rsa
  ②实现密钥同步
     ssh-copy-id 远程主机名称
        Ⅱ ansible中模块使用是怎样的?             在ansible controller主机清单中添加主机,在/etc/ansible/hosts文件中将其他主机的IP或主机名添加到清单中
ansible命令格式
命令格式:
    ansible 主机清单中IP或分组名称 -m 模块名
     -m  model

 ping模块的使用
 ansible IP或远程主机名或分组名 -m ping

        Ⅲ 总结:             ① 是假ping             ② 登录问题:多主机使用免密登录             ③ 定义主机清单文件             ④ 使用ping模块                 ansible IP -m ping     (2)使用ansible cron模块实现配置多主机时间同步           ansible cron 模块对主机进行时间周期性同步             Ⅰ 选择时钟源服务器                 国内建议使用阿里时钟源:time1.aliyun.com                 国际建议使用微软始终源:time.windows.com             Ⅱ cron 模块应用
ansible 主机清单中的IP或分组名称 -m 模块 -a "参数"
            Ⅲ 每小时与时钟源同步一次
ansible 主机清单中的IP或分组名称 -m cron -a 'name="test cron1" job="ntpdate time1.aliyun.com" minute=0 hour=*/1'
     name    给定时起个名字
     job     需要执行的命令
     minute=0 hour=*/1   每小时执行一次job对应的命令
     注意:ntpdate是用来同步时钟的命令,在命令行直接输入 ntpdate time1.aliyun.com 会同步到阿里云服务器的时间
            Ⅳ 在已经操作的主机清单的IP中输入 crontab -l,会发现增加了一个定时任务,格式为
#Ansible: test cron1
0 */1 * * * ntpdate time1.aliyun.com
定时任务来自Ansible,每小时都会同步,只是进行了定时任务的操作
            Ⅴ 总结                 ① 选择时钟源服务器                 ② ansible cron 批量服务器周期性计划任务定义

标签:IP,入门,主机,ansible,Ansible,ssh,模块,自动化,清单
来源: https://www.cnblogs.com/wqs-Time/p/14638164.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有