安装ansible和简单使用
1.yum安装
[root@localhost yum.repos.d]# yum -y install ansible
如果安装报错:
[root@localhost yum.repos.d]# yum -y install ansible
已加载插件:fastestmirror, product-id, search-disabled-repos, subscription-managerThis system is not registered with an entitlement server. You can use subscription-manager to register.Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
没有可用软件包 ansible。
错误:无须任何处理
执行命令:yum -y install epel-release
配置文件
配置文件/etc/ansible/ansible.cfg 主配置文件,配置ansible工作特性(一般无需修改)/etc/ansible/hosts 主机清单(将被管理的主机放到此文件)/etc/ansible/roles/ 存放角色的目录程序/usr/bin/ansible 主程序,临时命令执行工具/usr/bin/ansible-doc 查看配置文档,模块功能查看工具/usr/bin/ansible-galaxy 下载/上传优秀代码或Roles模块的官网平台/usr/bin/ansible-playbook 定制自动化任务,编排剧本工具/usr/bin/ansible-pull 远程执行命令的工具/usr/bin/ansible-vault 文件加密工具/usr/bin/ansible-console 基于Console界面与用户交互的执行工具
2.离线安装(内网安装)
2.1 找一台可以上网的机器并且系统版本相同(比如内网和可以上网的机器都是centos 7.5)
2.2 在可以上网的机器上执行:
[root@localhost ~]# yum -y install epel-release
[root@localhost ~]# mkdir ansible
[root@localhost ~]# yum -y install --downloadonly --downloaddir=./ansible ansible
2.3 将rpm的ansible包打包压缩并且拷贝需要安装ansible的机器上
2.4 在需要安装ansible的机器上执行:
[root@localhost ~]# mkdir -p /usr/local/ansible
[root@localhost ~]# cd /usr/local/ansible
[root@localhost ansible]# ls
ansible.tar.gz
[root@localhost ansible]# tar -zxvf ansible.tar.gz
ansible/
ansible/python-cffi-1.6.0-5.el7.x86_64.rpm
ansible/python-enum34-1.0.4-1.el7.noarch.rpm
ansible/python-idna-2.4-1.el7.noarch.rpm
ansible/python-jinja2-2.7.2-4.el7.noarch.rpm
ansible/python-markupsafe-0.11-10.el7.x86_64.rpm
ansible/python-paramiko-2.1.1-9.el7.noarch.rpm
ansible/python-babel-0.9.6-8.el7.noarch.rpm
ansible/python-ply-3.4-11.el7.noarch.rpm
ansible/python-pycparser-2.14-1.el7.noarch.rpm
ansible/ansible-2.9.27-1.el7.noarch.rpm
ansible/python2-cryptography-1.7.2-2.el7.x86_64.rpm
ansible/python2-httplib2-0.18.1-3.el7.noarch.rpm
ansible/python2-jmespath-0.9.4-2.el7.noarch.rpm
ansible/sshpass-1.06-2.el7.x86_64.rpm
ansible/python2-pyasn1-0.1.9-7.el7.noarch.rpm
[root@localhost ansible]# ls
ansible ansible.tar.gz
[root@localhost ansible]# cd ansible/
[root@localhost ansible]# ls
ansible-2.9.27-1.el7.noarch.rpm python-babel-0.9.6-8.el7.noarch.rpm python-markupsafe-0.11-10.el7.x86_64.rpm
python2-cryptography-1.7.2-2.el7.x86_64.rpm python-cffi-1.6.0-5.el7.x86_64.rpm python-paramiko-2.1.1-9.el7.noarch.rpm
python2-httplib2-0.18.1-3.el7.noarch.rpm python-enum34-1.0.4-1.el7.noarch.rpm python-ply-3.4-11.el7.noarch.rpm
python2-jmespath-0.9.4-2.el7.noarch.rpm python-idna-2.4-1.el7.noarch.rpm python-pycparser-2.14-1.el7.noarch.rpm
python2-pyasn1-0.1.9-7.el7.noarch.rpm python-jinja2-2.7.2-4.el7.noarch.rpm sshpass-1.06-2.el7.x86_64.rpm
[root@localhost ansible]# rpm -ivh *.rpm --force --nodeps
warning: ansible-2.9.27-1.el7.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
warning: python2-cryptography-1.7.2-2.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...1:python2-pyasn1-0.1.9-7.el7 ################################# [ 7%]2:sshpass-1.06-2.el7 ################################# [ 13%]3:python-ply-3.4-11.el7 ################################# [ 20%]4:python-pycparser-2.14-1.el7 ################################# [ 27%]5:python-cffi-1.6.0-5.el7 ################################# [ 33%]6:python-markupsafe-0.11-10.el7 ################################# [ 40%]7:python-idna-2.4-1.el7 ################################# [ 47%]8:python-enum34-1.0.4-1.el7 ################################# [ 53%]9:python2-cryptography-1.7.2-2.el7 ################################# [ 60%]10:python-paramiko-2.1.1-9.el7 ################################# [ 67%]11:python-babel-0.9.6-8.el7 ################################# [ 73%]12:python-jinja2-2.7.2-4.el7 ################################# [ 80%]13:python2-jmespath-0.9.4-2.el7 ################################# [ 87%]14:python2-httplib2-0.18.1-3.el7 ################################# [ 93%]15:ansible-2.9.27-1.el7 ################################# [100%]
[root@localhost ansible]# ansible --version
ansible 2.9.27config file = /etc/ansible/ansible.cfgconfigured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']ansible python module location = /usr/lib/python2.7/site-packages/ansibleexecutable location = /bin/ansiblepython version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
简单使用
1.将需要管理的机器ip放到/etc/ansible/hosts文件最后面
[root@localhost ~]# tail /etc/ansible/hosts
## db-[99:101]-node.example.com
10.10.10.01
10.10.10.02
10.10.10.03
10.10.10.04
10.10.10.05
10.10.10.06
10.10.10.07
10.10.10.08
10.10.10.09
10.10.10.10
2.设置免密登录
3.简单测试被控制机器是否正常
[root@localhost ~]# ansible all -m ping
例如在被控机器上执行shell脚本:
[root@localhost ~]# ansible all -m shell -a 'sh /data/test.sh'
ansible启动java包:
[root@localhost ~]# ansible all -m shell -a 'source /etc/profile;nohup sh /data/start.sh'
ansible只在一台机器上执行
[root@localhost ~]# ansible all -m shell -a 'source /etc/profile;nohup sh /data/start.sh' --limit 10.10.10.02
ansible-playbook用法
[root@localhost roles]# ansible-playbook -C test.yaml-C 只检查yaml语法(大写C),不执行
[root@localhost roles]# cat test.yaml
---
- hosts: allremote_user: roottasks:- name: ls filecommand: ls /tmp- name: mkdir filefile: name=/test state=directory- name: touch test filefile: name=/test/test_file state=touch- name:copy_filecopy: src=/var/log/yum.log dest=/tmp
如果让ansible-playbook的某个模块报错也继续执行需要在模块后面加上|| /bin/true
例如:假如copy模块报错了,我也想它继续执行
---
- hosts: allremote_user: roottasks:- name: ls filecommand: ls /tmp- name: mkdir filefile: name=/test state=directory- name: touch test filefile: name=/test/test_file state=touch- name:copy_filecopy: src=/var/log/yum.log dest=/tmp || /bin/true
安装ansible和简单使用相关推荐
- Ansible的简单使用
ansible相关原理简单介绍: ansible是基于ssh服务.ssh服务一般服务器上都自带了. ansible 所有的工作都依赖于核心模块来完成,这些核心模块都是 ansible 自身携带的,若这 ...
- 常见的自动化运维工具介绍及特点、安装ansible
常见的自动化运维工具介绍及特点.安装ansible 一.什么是自动化运维? 简单来说,自动化运维就是将日常重复性工作按照事先设定好的规则,在一定时间范围内自动化运行,而不需要人为参与. 将周期性.重复 ...
- MacBook安装Ansible
MacBook安装Ansible Ansible介绍 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批 ...
- linux 用root安装mysql数据库_Linux上安装Mysql及简单的使用详解
1. 安装mysql sudo apt-get update sudo apt-get install mysql-server sudo apt-get install python-mysqldb ...
- centos7离线安装ansible
centos7离线安装ansible: 1.通过在线的centos7将rpm包下载好了,上传到指定服务器. 下载官方repo,rpm -iUvh http://dl.Fedoraproject.org ...
- Ubuntu 安装mysql和简单操作
2019独角兽企业重金招聘Python工程师标准>>> ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-s ...
- asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程...
最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...
- python安装numpy模块-python的numpy模块安装不成功简单解决方法总结
为了画个图,被numpy这个模块的安装真的折腾疯了!!!一直装不上,花了几个小时,看了网上的很多教程.方法发现总结得不是很全,这里总结一下,防止大家再出现这个问题没有解决方法. Python的魅力之一 ...
- mac安装telnet 超简单 复制telnet文件即可
mac安装telnet 超简单 复制telnet文件即可: telnet 下载链接: https://github.com/cuifeiran/macos-telnet 将telnet可执行文件扔到m ...
最新文章
- mysql数据库互联网连接_myeclipse怎么连接mysql数据库?(详细步骤)
- 【 Notes 】RFID Preliminary Introduction
- ajax常见问题汇总(二)
- JPA 2.1实体图–第1部分:命名实体图
- linux kernel and user space通信机制,Linux内核空间与用户空间通信机制地研究.doc
- Mock Server实践
- IDEA—使用技巧总结 [持续更新... ...]
- 快乐学习 Ionic Framework+PhoneGap 手册1-5 {IO开关}
- 黑洞照片打印是用超级计算机,给黑洞冲洗一张照片,怎么就用了两年时间 | 科技向未来...
- face++ 行驶证OCR识别
- mysql查询删除的数据历史记录_查询数据库各种历史记录
- Ubuntu下vsftpd - 虚拟账户配置
- 全球最大湾区|微信大数据:《粤港澳大湾区智慧生活圈报告》
- 【原创】基于SSM的医院预约挂号系统(医院预约挂号系统毕设源代码)
- 计算机视觉与深度学习基本环境安装
- 2022年制冷与空调设备运行操作考试题库模拟考试平台操作
- APP开发要么快要么死!
- modbus slave和modbus poll使用说明
- 如何将java中list格式的数据转换为jason格式
- python结合ogr2ogr之地理数据格式转换-1
热门文章
- 2015春计算机应用技术基础,《计算机应用技术基础》.doc
- 创建Dota游戏中的兵营类(Barrack),创建3个兵营,通过控制台为每个兵营定义兵营名称,并指定该兵营需要创建的士兵人数。
- html主题 sublime,sublime之markdown语法高亮和修改主题
- 谁说做大客户模式太重?容联云通讯成为SaaS领域另类领先者
- shell 脚本的cut使用方法
- 零基础学FPGA(三):国产芯片短板—FPGA(为什么选择FPGA)
- 多元线性回归模型中的常数项
- 英方联合XSKY星辰天合推出基于对象存储的备份解决方案
- medoo连接mysql_PHP数据库框架Medoo1.6安装步骤
- 杜拉克的有效的管理者研究(1974)-zz