1.ansible配置

什么是Ansible
  • IT自动化工具
  • 依赖于现有的操作系统凭证来访问控制远程机器
  • 简单易用、安全可靠

Ansible可以完成哪些任务

  • 配置系统
  • 开发软件
  • 编排高级的IT任务

Ansible特点

  • 轻量级
  • 易学习
  • 操作灵活
Ansible执行流程

![image-20190828152118020](/Users/mac/Library/Application Support/typora-user-images/image-20190828152118020.png)

![image-20190828152147492](/Users/mac/Library/Application Support/typora-user-images/image-20190828152147492.png)

Ansible安装配置

Ansible安装方式

  • python pip
  • 软件源
  • Ansible源码

python pip安装

  • sudo pip install ansible

优点

  • 简单、快速、跨平台

软件源安装

  • sudo yum install peel-release && sudo yum install ansible

优点

  • 简单、快捷、跨平台

软件源安装(ubuntu)

  • $ sudo apt-get install software-properties-common
  • $ sudo apt-add-repository spa:ansible/ansible
  • $ sudo apt-get update
  • $ sudo apt-get install ansible

优点

  • 不会出现编译或者依赖问题

Ansible配置

  • host配置

    host文件: /etc/ansible/hosts

  • 配置内容:

    [test]

    192.168.1.1

配置远程登录

  • 添加公钥:

    ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.1

连通测试

  • 运行Ansible命令:

    ansible all -m ping

  • 正确的运行结果:

    192.168.1.1 | SUCCESS => {

    ​ "changed": false,

    ​ "ping": "pong"

    }

2.Ansible基本使用

Ad-hoc是什么
  • 命令行工具
  • 适用于业务变更
  • 所见即所得

Ad-hoc怎么用

举例说明:

  • 列出目标主机目录

    1. ansible test -m shell -a "ls /root" --user=root

Ansible help message

  • 普通可选参数
  • 链接目标主机相关参数
  • 权限控制相关参数
Ansible Inventory

Inventory是什么

  • 定义主机关系的文件
  • 默认路径为/etc/ansible/hosts
  • 文件内容格式为ini

Inventory主机组

  1. [组名]
  2. 192.168.1.1
  3. 192.168.1.2

Inventory主机别名

  1. jumper ansible_ssh_port = 22
  2. ansible_ssh_host = 192.168.1.1

Inventory链接参数

  1. ansible_ssh_host
  2. #将要连接的远程主机名,与你想要设定的主机别名不同的话,可通过此变量设置
  3. ansible_ssh_port
  4. #ssh端口号,如果不是默认的端口号,通过此变量设置
  5. ansible_ssh_user
  6. #默认的ssh用户吗
  7. ansible_ssh_pass
  8. #ssh密码(这种方式并不安全,我们强烈建议使用 --ask-pass或SSH)
  9. ansible_sudo_pass
  10. #sudo密码(这种方式并不安全,我们强烈建议使用 --ask-sudo-pass)
Inventory批量主机组
  1. [websevers]
  2. www[01:50].example.com
  3. [databases]
  4. db-[a:f].example.com
Ansible基本使用
  • 了解Ansible使用
  • 了解Ansible模块查找使用方法

实战

  • 安装mysql

    1. ansible test -m yum -a "name=mariadb-server state=latest"
    2. #安装使用yum模块 name参数是必须的,服务名称, state参数是可选的,latest表示安装
  • 启动服务/暂停服务

    1. ansible test -m systemd -a "name=mariadb state=started"
    2. #启动mariadb服务
    3. ansible test -m systemd -a "name=mariadb state=stopped"
    4. #关闭mariadb服务
  • 查看mysql服务是否启动

    1. ansible test -m shell -a "ps -ef|grep mysql"

自动化运维-ansible入门篇的更多相关文章

  1. 自动化运维Ansible安装篇

    Ansible自动化工具之--部署篇 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了 ...

  2. 自动化运维 Ansible

    自动化运维 Ansible 特性 (1).no agents:不需要在被管控主机上安装任何客户端: (2).no server:无服务器端,使用时直接运行命令即可: (3).modules in an ...

  3. saltstack自动化运维快速入门

    saltstack自动化运维快速入门 关于saltstack 这个软件是干啥的 我这里就不介绍了 只是简单的说下是干啥的 网上的说法是 它是func的强化版本+ puppet的精简版 关于puppet ...

  4. python自动化运维之CMDB篇-大米哥

    python自动化运维之CMDB篇 视频地址:复制这段内容后打开百度网盘手机App,操作更方便哦 链接:https://pan.baidu.com/s/1Oj_sglTi2P1CMjfMkYKwCQ  ...

  5. 自动化运维Shell入门

    运维shell 作用 项目部署 项目监控 什么是shell shell是一个程序,/bin/bash/,是一个命令解释器所有linux命令都由他来执行,打开终端就进入了 shell的交互式命令 运行方 ...

  6. Python自动化运维ansible从入门到精通

    1. 下载安装 在windows下安装ansible:

  7. 服务器/网络/虚拟化/云平台自动化运维-ansible

    ansible与netconf的对比 首先明确一个概念,netconf是协议,ansible是python编写的工具 netconf 使用YANG建模,XML进行数据填充,使用netconf协议进行传 ...

  8. Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件

    一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...

  9. 自动化运维—Ansible(上)

    一:为什么选择Ansible 相对于puppet和saltstack,ansible无需客户端,更轻量级 ansible甚至都不用启动服务,仅仅只是一个工具,可以很轻松的实现分布式扩展 更强的远程命令 ...

随机推荐

  1. IDEA 使用SequenceDiagram插件绘制时序图

    最近看代码,由于代码的调用层级深度比较多,层层深入到某处时,已经忘记了身处何处,虽然自己可以使用一些画图工具来时序图,但是,这种情况下,自己画时序图很繁琐,比较浪费时间,上网找了一下IDEA有一个插件 ...

  2. 解决ImportError: No module named utils

    转载:https://blog.csdn.net/weixin_43979572/article/details/86159265 在Python中遇到了导包错误,其实包已经有了.原因是我再B文件的a ...

  3. qt linux 打包

    本文在银河麒麟上成功运行,程序类型:Qt控制台,使用到的Qt外库:mysql数据库 1.环境一共有两台,1是编译机[装有Qt.数据库],2是运行机[纯净机] 2.在编译机上安装Qt.mysql,我这里 ...

  4. istio1.0安装

    1. istio1.0安装 创建 istio 目录 [root@centos-110 ~]# mkdir istio [root@centos-110 ~]# cd istio 1.1 获取安装包 链 ...

  5. SpringBoot 为什么能够自动的注入一些常用的Bean ?

    原文转载至:https://blog.csdn.net/qq_29941401/article/details/79605388 但是我一直没有搞懂druid是怎么自动配置的? 这个是properti ...

  6. 【并行计算-CUDA开发】【视频开发】ffmpeg Nvidia硬件加速总结

    2017年5月25日 0. 概述 FFmpeg可通过Nvidia的GPU进行加速,其中高层接口是通过Video Codec SDK来实现GPU资源的调用.Video Codec SDK包含完整的的高性 ...

  7. 一文看懂JS继承

    继承是OOP中大家最喜欢谈论的内容之一,一般来说,继承都两种方式:接口继承和实现继承而JavaScript中没有接口继承需要的方法,因此只能依靠实现继承.在讲继承的实现之前,我们首先来回顾一下什么是继 ...

  8. 嵌入式web服务器BOA+CGI+HTML+MySQL项目实战——Linux

    准备环境操作系统: Ubuntu12.04 LTS环境搭建: 需要 BOA,Apache,CCGI,MySQL,GCC[Linux下嵌入式Web服务器BOA和CGI编程开发][数据库的相关知识——学习 ...

  9. kali更新软件源

    首先就是修改软件源文件 /etc/apt/sources.list 可以用leafpad打开,在终端中键入: leafpad /etc/apt/sources.list 原码是kali官方的软件源,更 ...

  10. 数据采集,SCADA, 使用MQTT的方式来进行消息单/双向传输,什么场景使用MQTT

    1.先来了解下: 看完得出关键字:发布.订阅模式,事件驱动,主题,生产与消费解耦 2.轻量级 普通的socket连接对服务器的消耗太大了,socket服务端是很消耗资源的,一台服务器能链接的客户端是有 ...