zhk2369 发表于 2018-7-29 06:00:19

运维神器 ansible 安装部署

  抽空研究下自动运维神器 ,ansible ,基于SSH的管理,不需要agent


[*]核心:ansible
[*]核心模块(Core Modules):这些都是ansible自带的模块 
[*]扩展模块(Custom Modules):如果核心模块不足以完成某种功能,可以添加扩展模块
[*]插件(Plugins):完成模块功能的补充
[*]剧本(Playbooks):ansible的任务配置文件,将多个任务定义在剧本中,由ansible自动执行
[*]连接插件(Connectior Plugins):ansible基于连接插件连接到各个主机上,虽然ansible是使用ssh连接到各个主机的,但是它还支持其他的连接方法,所以需要有连接插件
[*]主机群(Host Inventory):定义ansible管理的主机
  原理图


  安装完ansible后,发现ansible一共为我们提供了七个指令:ansible、ansible-doc、ansible-galaxy、ansible-lint、ansible-playbook、ansible-pull、ansible-vault 。这里我们只查看usage部分,详细部分可以通过 “指令 -h” 的方式获取。
  实验机的centos python有些问题,即便是更新了EPEL 用的还是2.4.0的,用github的30M一直下不来,换成ubuntu继续试验,不过实验结束之后发现centos yum不支持python 2.7 而ansible又需要这个库,所以免费的软件后期维护成本比较大
  $ sudo apt-get install software-properties-common
  $ sudo apt-add-repository ppa:ansible/ansible
  $ sudo apt-get update
  $ sudo apt-get install ansible


  ansible all -m shell -a "hostname" --ask-pass -i /etc/ansible/hosts

  新的2台服务器没有key
  第一次链接的时候会提示

  ubuntu 的编辑器有些怪,让我先修一下
  sudo apt-get remove vim-common sudo apt-get install vim
  sudo vi /etc/ansible/ansible.cfg
  #ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s
  ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no

  sudo vi /etc/ansible/ansible.cfg
  host key 检查改为false

  居然拒绝了

  我先生成个key
  ssh-keygen

  ssh-copy-id pcdog@ansible2

  ansible 192.168.209.146 -a 'uptime'

  可以看到受控机器的启动时间
  ansible -m ping all

  可以看到2台机器都已经可以ping通了
  在/etc/ansible/hosts中把2台服务器合并到一个lab组中

  一组相似的 hostname , 可简写如下:
   www.example.com
  数字的简写模式中,01:50 也可写为 1:50,意义相同.你还可以定义字母范围的简写模式:
   db-.example.com
  ansible lab -m command -a ls

  同时可以列目录了
  ansible有Patterns的规则
  如
  ansible <pattern_goes_here> -m <module_name> -a <arguments>
  换成命令
  ansible webservers -m service -a "name=httpd state=restarted"
  可以同时对一个组执行某些服务的启动
  具体的看官方文档。。。。
  http://docs.ansible.com/ansible/latest/intro_patterns.html
  相对来说ansible 管理起来还是比较简单,应用搭建过程不超过6个小时,大部分的维护命令需要写在playbook里面,我就不一一具体介绍了
  http://docs.ansible.com/ansible/latest/playbooks.html
页: [1]
查看完整版本: 运维神器 ansible 安装部署