ansible自动化部署(一)
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自动化部署(一)相关推荐
- K8S实战集训第一课 Ansible自动化部署k8s、弹性伸缩、Helm包管理、k8s网络模型介绍
Ansible自动化部署K8S集群 一.Ansible自动化部署K8S集群 1.1 Ansible介绍 Ansible是一种IT自动化工具.它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部 ...
- Jenkins+Gitlab+Ansible自动化部署(四)
Jenkins+Gitlab+Ansible自动化部署(2021-08-11) 一.Jenkins Linux Shell 集成 登录Jenkins web管理页,点击新建任务 添加描述信息 添加构建 ...
- Ansible自动化部署配置实践(实现TDEngine集群的自动化部署)
一.说明 Ansible是一款基于Python的自动化运维,用于发布.管理和编排计算机系统的工具.而且可以支持批量系统配置.批量部署运维.批量运行命令等功能. 这里以TDEngine的集群部署为例, ...
- ansible自动化部署
ansible通过模块实现批量管理及部署服务器,功能有模块实现 ansible无需在被控端安装agent/client,因为ansible是通过ssh分发ad-hoc(单条指令)或者palybook( ...
- ansible vim_Vim插件,使用Ansible自动化部署策略,Pelican入门,Linux,Joplin,Python以及更多新鲜读物
ansible vim 上周,有关Vim,Ansible,Python,Joplin和RetroPie的复古游戏的文章成为读者的最爱,此外,我们还汇总了一些最受欢迎的Linux和开源备忘单 . 您想在 ...
- ansible自动化部署nginx艾艾贴
1.ansible的安装 (1)准备两台机器,分别 IP为114.67.232.214,主机名为centos100 IP为114.67.233.22,主机名为centos101 (2)需要在cento ...
- 自动化运维工具Ansible详细部署
一.基础介绍 ================================================================================= 1.简介 ansibl ...
- gitlab与jenkins的自动化部署(通过webhook与ansible)
gitlab与jenkins的自动化部署(通过webhook与ansilble) 1.部署介绍 gitlab服务器:192.168.1.49:80 jenkins服务器:192.168.1.49:81 ...
- jenkins结合ansible用shell实现自动化部署和回滚
最近用jenkins+gitlab+ansible做持续化集成,自动化部署和版本回滚.然而deploy plugin没能做到增量升级和回滚操作,折腾了很久决定自己写个脚本来简单实现. 环境: cent ...
最新文章
- 迪拜测试世界上首款自动驾驶出租车,距离2030年的自动驾驶目标又进一步
- linux centos grub grub2 加密、清除
- win10:tensorflow学习笔记(2)
- 如何让 dotnetcore 在 Linux 上后台运行?
- Go语言实战 : API服务器 (4) 配置文件读取及连接数据库
- 甲骨文全面进军云计算市场
- 地图控件快速入门——控制地图
- 华三 h3c Vlan静态路由
- HTML:H5中新增表单标签<fieldset>
- Simple-RNN with Keras
- 【Python脚本进阶】2.4、conficker蠕虫(中):Python脚本与Metasploit交互
- bs结构管理系统 服务器多少钱,购买BS或CS架构的进销存软件哪个更划算
- 小红书口碑营销推广方式有哪些?
- 如何通过TXT文件批量生成DataMatrix码
- 2022年NOC软件创意编程(学而思赛道)选拔赛小学高年级组python,包含答案
- 以下是一段歌词,请从这段歌词中统计出朋友出现的次数
- android实现 桌面移动悬浮窗口实现
- Idea gitflow使用中常见问题及解决方法
- JQuery - 反向选择器
- 微信小程序版 九宫格数独游戏