ansible自动化部署

最近因为工作需要学习了ansible,把这几天所学的东西做了个总结,和大家分享一下:

1、什么是ansible?ansible能干什么?

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:

  • 连接插件connection plugins:负责和被监控端实现通信;
  • host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
  • 各种模块核心模块、command模块、自定义模块;
  • 借助于插件完成记录日志邮件等功能;
  • playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

2、ansible的基本安装与配置

了解了ansible的基本概念以及它的用途,下来,我们开始部署ansible(本次部署实在Redhat7上进行的),让ansible在自己的机器上跑起来。
为了能使用yum安装,首先我们得配置本地yum源,具体配置参考我的另一篇文章
RHEL7配置本地yum源

安装ansible
1、安装python-devel
yum install python-devel
2、setuptools模块安装
3、pycrypto模块安装
4、PyYAML模块安装
5、Jinja2模块安装
6、paramiko模块安装
7、simplejson模块安装
8、ansible安装
在网上下载以上模块以及ansiblede的.tar.gz包
分别执行tar xvzf ***解压后 再执行python setup.py install --record log.txt 命令安装

ansible安装成功之后,接下来进行Ansible的配置
1、SSH免密钥登录设置

[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
c9:72:68:d4:5a:a7:73:8c:f6:29:3b:44:99:7e:ae:20 root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|       .         |
|      . oo.      |
|     . =+*       |
|      =oS o      |
|     . +o+..     |
|    E ...oo      |
|     . ..o.      |
|        oo       |
+-----------------+

2、将信任文件分发到指定服务器上
ssh-copy-id -i /root/.ssh/id_rsa.pub 172.28.159.103
3、配置ansible.cfg

[root@localhost ~]# vim /etc/ansible/ansible.cfg
[defaults]
private_key_file = /root/.ssh/id_rsa

4、主机组定义

[root@localhost ~]# vim /etc/ansible/hosts [test]
localhost
192.168.56.103

5、简单测试

[root@localhost ~]# ansible test -m ping
192.168.56.103 | SUCCESS => {"changed": false, "ping": "pong"
}
localhost | SUCCESS => {"changed": false, "ping": "pong"
}

ansible自动化部署(一)相关推荐

  1. K8S实战集训第一课 Ansible自动化部署k8s、弹性伸缩、Helm包管理、k8s网络模型介绍

    Ansible自动化部署K8S集群 一.Ansible自动化部署K8S集群 1.1 Ansible介绍 Ansible是一种IT自动化工具.它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部 ...

  2. Jenkins+Gitlab+Ansible自动化部署(四)

    Jenkins+Gitlab+Ansible自动化部署(2021-08-11) 一.Jenkins Linux Shell 集成 登录Jenkins web管理页,点击新建任务 添加描述信息 添加构建 ...

  3. Ansible自动化部署配置实践(实现TDEngine集群的自动化部署)

    一.说明 Ansible是一款基于Python的自动化运维,用于发布.管理和编排计算机系统的工具.而且可以支持批量系统配置.批量部署运维.批量运行命令等功能. 这里以TDEngine的集群部署为例, ...

  4. ansible自动化部署

    ansible通过模块实现批量管理及部署服务器,功能有模块实现 ansible无需在被控端安装agent/client,因为ansible是通过ssh分发ad-hoc(单条指令)或者palybook( ...

  5. ansible vim_Vim插件,使用Ansible自动化部署策略,Pelican入门,Linux,Joplin,Python以及更多新鲜读物

    ansible vim 上周,有关Vim,Ansible,Python,Joplin和RetroPie的复古游戏的文章成为读者的最爱,此外,我们还汇总了一些最受欢迎的Linux和开源备忘单 . 您想在 ...

  6. ansible自动化部署nginx艾艾贴

    1.ansible的安装 (1)准备两台机器,分别 IP为114.67.232.214,主机名为centos100 IP为114.67.233.22,主机名为centos101 (2)需要在cento ...

  7. 自动化运维工具Ansible详细部署

    一.基础介绍 ================================================================================= 1.简介 ansibl ...

  8. gitlab与jenkins的自动化部署(通过webhook与ansible)

    gitlab与jenkins的自动化部署(通过webhook与ansilble) 1.部署介绍 gitlab服务器:192.168.1.49:80 jenkins服务器:192.168.1.49:81 ...

  9. jenkins结合ansible用shell实现自动化部署和回滚

    最近用jenkins+gitlab+ansible做持续化集成,自动化部署和版本回滚.然而deploy plugin没能做到增量升级和回滚操作,折腾了很久决定自己写个脚本来简单实现. 环境: cent ...

最新文章

  1. 迪拜测试世界上首款自动驾驶出租车,距离2030年的自动驾驶目标又进一步
  2. linux centos grub grub2 加密、清除
  3. win10:tensorflow学习笔记(2)
  4. 如何让 dotnetcore 在 Linux 上后台运行?
  5. Go语言实战 : API服务器 (4) 配置文件读取及连接数据库
  6. 甲骨文全面进军云计算市场
  7. 地图控件快速入门——控制地图
  8. 华三 h3c Vlan静态路由
  9. HTML:H5中新增表单标签<fieldset>
  10. Simple-RNN with Keras
  11. 【Python脚本进阶】2.4、conficker蠕虫(中):Python脚本与Metasploit交互
  12. bs结构管理系统 服务器多少钱,购买BS或CS架构的进销存软件哪个更划算
  13. 小红书口碑营销推广方式有哪些?
  14. 如何通过TXT文件批量生成DataMatrix码
  15. 2022年NOC软件创意编程(学而思赛道)选拔赛小学高年级组python,包含答案
  16. 以下是一段歌词,请从这段歌词中统计出朋友出现的次数
  17. android实现 桌面移动悬浮窗口实现
  18. Idea gitflow使用中常见问题及解决方法
  19. JQuery - 反向选择器
  20. 微信小程序版 九宫格数独游戏

热门文章

  1. C++(二)——命名空间(上)
  2. 数学建模——智能优化之粒子群模型详解Python代码
  3. 738. 单调递增的数字(贪心算法)
  4. c语言定义可变长度的数组,有没有办法在c中创建一个可变长度数组全局?
  5. 什么时候能用Δs判断反应进行方向_化学反应原理复习 第二章
  6. 我对汇编中进位和溢出的理解
  7. 002 辅助框架的设计
  8. MySQL的版本以及版本号
  9. Python爬虫学习获取腾讯新闻并存入Csv文件
  10. 超详细!各种内部排序算法的比较