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怎么用

举例说明:

  • 列出目标主机目录

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

Ansible help message

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

Inventory是什么

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

Inventory主机组

[组名]
192.168.1.1
192.168.1.2

Inventory主机别名

jumper ansible_ssh_port = 22
ansible_ssh_host = 192.168.1.1

Inventory链接参数

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

实战

  • 安装mysql

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

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

    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. (转载)基于比较的少样本(one/few-shoting)分类

    基于比较的方法 先通过CNN得到目标特征,然后与参考目标的特征进行比较. 不同在于比较的方法不同而已. 基本概念 数据集Omniglot:50种alphabets(文字或者文明); alphabet中 ...

  2. 【漫谈数据仓库】 如何优雅地设计数据分层 ODS DW DM层级

    转载http://bigdata.51cto.com/art/201710/554810.htm 一.文章主题 本文主要讲解数据仓库的一个重要环节:如何设计数据分层!其它关于数据仓库的内容可参考之前的 ...

  3. Kafka限流

    1. 客户端认证 如果kafka客户端是认证的,那么可以使用userId和clientId两种认证方式.如果没有认证只能使用clientId限流. bin/kafka-configs. --alter ...

  4. Python浮点数数据精度控制

    代码 import decimal from decimal import Decimal, getcontext if __name__ == '__main__': decimal.getcont ...

  5. Retrofit 二次封装实践

    首先感谢这位大神的博客:https://blog.csdn.net/u014569233/article/details/67639522,在他的基础上根据自己项目进行了修改最后成为现在项目使用的样子 ...

  6. 对decimal 类型的数据进行获取调整

    Decimal为SQL Server.MySql等数据库的一种数据类型,不属于浮点数类型,可以在定义时划定整数部分以及小数部分的位数. 好处:使用精确小数类型不仅能够保证数据计算更为精确,还可以节省储 ...

  7. CentOS7-Docker 安装 Gitlab

    官方教程 https://docs.gitlab.com/omnibus/docker/ 搜索镜像 [root@master ~]# docker search gitlab 拉取镜像 [root@m ...

  8. Node.js 开发指南-读书笔记

    1. Node.js 使用了单 线程.非阻塞的事件编程模式 Node.js 最大的特点就是采用异步式 I/O 与事件驱动的架构设计.对于高并发的解决方 案,传统的架构是多线程模型,也就是为每个业务逻辑 ...

  9. 6. 运行Spark SQL CLI

    Spark SQL CLI可以很方便的在本地运行Hive元数据服务以及从命令行执行任务查询.需要注意的是,Spark SQL CLI不能与Thrift JDBC服务交互.在Spark目录下执行如下命令 ...

  10. Docker容器跨主机通信之:OVS+GRE

    一.概述 由于docker自身还未支持跨主机容器通信,需要借助docker网络开源解决方案 OVS OpenVSwich即开放式虚拟交换机实现,简称OVS,OVS在云计算领域应用广泛,值得我们去学习使 ...