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的自动化管理相关推荐

  1. Ansible批量自动化管理工具(二)

    Ansible批量自动化管理工具(二) 链接:https://pan.baidu.com/s/1A3Iq3gGkGS27L_Gt37_I0g 提取码:ncy2 复制这段内容后打开百度网盘手机App,操 ...

  2. 常用的自动化管理软件及Ansible安装

    常用的自动化管理软件及Ansible安装 文章目录 常用的自动化管理软件及Ansible安装 1. Puppet 2. CHEF 3. CFEngine 4. Foreman 5. Katello 6 ...

  3. 自动化运维工具ansible的安装管理以及模块介绍

    自动化运维工具ansible的安装管理以及模块介绍 目录 自动化运维工具ansible的安装管理以及模块介绍 一.ansible概述 1.几种常用运维工具比较 2.Ansible简介 3.Ansibl ...

  4. Linux 运维工作中的经典应用ansible(批量管理)Docker容器技术(环境的快速搭建)...

    一 Ansible自动化运维工具 Python 在运维工作中的经典应用ansible(批量管理操作)1.安装ansible(需要bese epel 2种源) wget -O /etc/yum.repo ...

  5. ansible: Linux批量管理神器

    我们已经知道,基于集群可实现服务器横向扩展slace out.可是,当上百台主机集合成共同为一个站点提供web页面访问的形式时,怎么管理整个集群体呢? 一些小伙伴大概听说过pxe等可实现自动安装系统. ...

  6. ansible+ssh自动化运维

    章节介绍 一.ansible是个什么东西呢? 二.ansible有如下优点: 三.ansible安装 四.ansibl 语法格式: 五.ansible帮助模块: 六.ansible参数详细介绍 七.A ...

  7. 运维自动化管理服务器 CheungSSH

    CheungSSH 是一款中国人自主研发的Linux运维自动化管理服务器软件,后端使用 Python 语言+Django 的 Web 框架,前端使用 Bootstrap+Javascript+jQue ...

  8. [Ansible 概述]Ansible 的自动化运维

    一.Ansible 概述加粗样式 Ansible 是目前最受运维欢迎的自动化运维工具,基于Python开发,集合了众多运维工具(SaltStack puppet.chef.func.fabric)的优 ...

  9. 一文详解 Ansible 的自动化运维

    一.Ansible 概述 Ansible 是近年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误. Ansible 通过本身集成的非常丰 ...

  10. 我们是如何使用 PingCode Flow 实现研发自动化管理的?

    作者: 徐子岩 Shaun Xu 研发自动化产品PingCode Flow已经上线将近半年的时间.在这期间,我们很高兴的看到越来越多的研发团队试用.接受并喜欢上这款产品.从目前的后台监控数据看,我们的 ...

最新文章

  1. 7-5 符号配对 (20 分)
  2. 实战课【1】jQuery实现表单校验及布局
  3. java list 去重 相同的相加_Java 中的数据流和函数式编程 | Linux 中国
  4. 原码一位乘法器设计_对原码、反码和补码的加深理解
  5. CTFshow 文件上传 web155
  6. 开源学习管理系统(LMS)的比较
  7. Flutter Container 容器以及对齐方式 Alignment
  8. 【鲲鹏来了】手把手教你在鲲鹏上使用编程语言——C语言
  9. mysql first value_开窗函数 First_Value 和 Last_Value
  10. (转)Hibernate框架基础——cascade属性
  11. Web容器默认的servlet
  12. python如何写生日快乐图片_Python 生活第一周母校生日快乐
  13. 记录学习算法心得(时间复杂度和空间复杂度)
  14. 日常Java练习题(每天进步一点点系列)
  15. 如何使用Java进行网络爬虫
  16. 几种直方图均衡方法汇总
  17. H5实现点击图片放大功能
  18. 黄山杭州五日游攻略,厦门出发
  19. 谷歌地图 图片保存_Google如何在地图上跟踪并保存您的一举一动
  20. [内存泄漏]pppd程序导致的内存泄漏

热门文章

  1. FPGA UART简单的串口接收模块
  2. 兼容性所有浏览器的透明CSS设置
  3. 一个简单的WeakList的实现
  4. An Useful Page Mockup Tools – Balsamiq Mockups
  5. 用Visual Studio写PHP代码
  6. 将Alfred与BetterZip整合,提高你的Mac工作效率
  7. 如何使用Magoshare Data Recovery在mac上恢复找回删除的丢失文件?
  8. STL模板整理 priority_queue
  9. 用代码理解ObjC中的发送消息和消息转发
  10. centos查找未挂载磁盘格式化并挂载