ansible的自动化管理
ansibel学习总结
基本语法
列表和字典层级要分明,冒号后面加空格,如下面的例子,刚开始学习的时候,冒号后面没有加空格,导致失败。
- hosts: httpdremote_user: roottasks:- name: install httpdyum: name=httpd state=present- name: start httpd serviceservice: name=httpd state=started
ansible的列表和字典
列表:每一个列表成员前面都要有一个短横线和一个空格
fruits:- Apple- Orange- Strawberry- Mango或者:
fruits: ['Apple', 'Orange', 'Strawberry', 'Mango']
字典:每一个成员由键值对组成,注意冒号后面要有空格
martin:name: Martin D'vloperjob: Developerskill: Elite
或者
martin: {name: Martin D'vloper, job: Developer, skill: Elite}
实验生成密钥
[root@localhost ~]# ssh-keygen -t rsa <== 建立密钥对,-t代表类型,有RSA和DSA两种
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <==密钥文件默认存放位置,按Enter即可
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
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:
SHA256:K1qy928tkk1FUuzQtlZK+poeS67vIgPvHw9lQ+KNuZ4 root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
| +. |
| o * . |
| . .O + |
| . *. * |
| S =+ |
| . =... |
| .oo =+o+ |
| ==o+B*o. |
| oo.=EXO. |
+----[SHA256]-----+
--------------------- 传输公钥:传输公钥时ip地址后面不见任何东西,默认会在/root下生成.shh,并把公钥传在他的下面
[root@localhost ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.8.11
yum模块的学习
参数名 是否必须 默认值 选项值 参数说明
conf_file 不 设定远程yum执行时所依赖的yum配置文件
disable_gpg_check 不 No Yes/No 在安装包前检查包,只会影响state参数为present或者latest的时候
list No 只能由ansible调用,不支持playbook,这个干啥的大家都懂
name Yes 你需要安装的包的名字,也能如此使用name=python=2.7安装python2.7
state no present present/latest/absent 用于描述安装包最终状态,present/latest用于安装包,absent用于remove安装包
update_cache no no yes/no 用于安装包前执行更新list,只会影响state参数为present/latest的时候
service模块的学习
名称 必选 默认值 可选值 备注
argument no 如果打开这个标记,backrefs会改变模块的一些操作:insertbefore和insertafter参数会被忽略。当regexp不匹配文件中的任何行时,文件不会做任何修改,否则 使用扩展的line参数 替换 最后一个匹配正则表达式的行
enabled no yes/no 服务是否开机自动启动。enabled和state至少要有一个被定义
name yes 服务名称
pattern no 如果服务没有响应,则ps查看是否具有指定参数的进程,有则认为服务已经启动
sleep no EOF EOF/*regex* 如果服务被重新启动,则睡眠多少秒再执行停止和启动命令
state no started,stopped,restarted,reloaded service最终操作后的状态
举例,远程在centos6.5系统上安装mysql
- hosts: mysqldremote_user: roottasks:- name: install mysqldyum: name=mysql state=present- name: install mysql-develyum: name=mysql-devel state=present- name: install mysql-serveryum: name=mysql-server state=present- name: start mysqld serviceservice: name=mysqld state=started
远程在centos7上部署mariadb
- hosts: mariadbremote_user: roottasks:- name: install mariadbyum: name=mariadb-server state=present- name: start mariadb serviceservice: name=mariadb state=started
-------------------------------------------------------
- hosts: mariadb
remote_user: root
tasks:
- name: install mariadb
yum: name=mariadb-server state=present
- name: start mariadb service
systemd: name=mariadb state=started
用systemd或者service模块都可以(都实验成功)
转载于:https://www.cnblogs.com/zhuhaofeng/p/10006399.html
ansible的自动化管理相关推荐
- Ansible批量自动化管理工具(二)
Ansible批量自动化管理工具(二) 链接:https://pan.baidu.com/s/1A3Iq3gGkGS27L_Gt37_I0g 提取码:ncy2 复制这段内容后打开百度网盘手机App,操 ...
- 常用的自动化管理软件及Ansible安装
常用的自动化管理软件及Ansible安装 文章目录 常用的自动化管理软件及Ansible安装 1. Puppet 2. CHEF 3. CFEngine 4. Foreman 5. Katello 6 ...
- 自动化运维工具ansible的安装管理以及模块介绍
自动化运维工具ansible的安装管理以及模块介绍 目录 自动化运维工具ansible的安装管理以及模块介绍 一.ansible概述 1.几种常用运维工具比较 2.Ansible简介 3.Ansibl ...
- Linux 运维工作中的经典应用ansible(批量管理)Docker容器技术(环境的快速搭建)...
一 Ansible自动化运维工具 Python 在运维工作中的经典应用ansible(批量管理操作)1.安装ansible(需要bese epel 2种源) wget -O /etc/yum.repo ...
- ansible: Linux批量管理神器
我们已经知道,基于集群可实现服务器横向扩展slace out.可是,当上百台主机集合成共同为一个站点提供web页面访问的形式时,怎么管理整个集群体呢? 一些小伙伴大概听说过pxe等可实现自动安装系统. ...
- ansible+ssh自动化运维
章节介绍 一.ansible是个什么东西呢? 二.ansible有如下优点: 三.ansible安装 四.ansibl 语法格式: 五.ansible帮助模块: 六.ansible参数详细介绍 七.A ...
- 运维自动化管理服务器 CheungSSH
CheungSSH 是一款中国人自主研发的Linux运维自动化管理服务器软件,后端使用 Python 语言+Django 的 Web 框架,前端使用 Bootstrap+Javascript+jQue ...
- [Ansible 概述]Ansible 的自动化运维
一.Ansible 概述加粗样式 Ansible 是目前最受运维欢迎的自动化运维工具,基于Python开发,集合了众多运维工具(SaltStack puppet.chef.func.fabric)的优 ...
- 一文详解 Ansible 的自动化运维
一.Ansible 概述 Ansible 是近年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误. Ansible 通过本身集成的非常丰 ...
- 我们是如何使用 PingCode Flow 实现研发自动化管理的?
作者: 徐子岩 Shaun Xu 研发自动化产品PingCode Flow已经上线将近半年的时间.在这期间,我们很高兴的看到越来越多的研发团队试用.接受并喜欢上这款产品.从目前的后台监控数据看,我们的 ...
最新文章
- 7-5 符号配对 (20 分)
- 实战课【1】jQuery实现表单校验及布局
- java list 去重 相同的相加_Java 中的数据流和函数式编程 | Linux 中国
- 原码一位乘法器设计_对原码、反码和补码的加深理解
- CTFshow 文件上传 web155
- 开源学习管理系统(LMS)的比较
- Flutter Container 容器以及对齐方式 Alignment
- 【鲲鹏来了】手把手教你在鲲鹏上使用编程语言——C语言
- mysql first value_开窗函数 First_Value 和 Last_Value
- (转)Hibernate框架基础——cascade属性
- Web容器默认的servlet
- python如何写生日快乐图片_Python 生活第一周母校生日快乐
- 记录学习算法心得(时间复杂度和空间复杂度)
- 日常Java练习题(每天进步一点点系列)
- 如何使用Java进行网络爬虫
- 几种直方图均衡方法汇总
- H5实现点击图片放大功能
- 黄山杭州五日游攻略,厦门出发
- 谷歌地图 图片保存_Google如何在地图上跟踪并保存您的一举一动
- [内存泄漏]pppd程序导致的内存泄漏