Ansible 学习记录 (二)基础介绍

Ansible的优点:
  Agentless (去中心化)
  Stupied Simple
  SSH by default
  YAML no code



 

Ansible 使用场景:

  文件传输,
  (1)scp mv cp rsync
  命令执行:
  (2)
  剩下的其他命令
    安装http服务:
    安装()
    配置()
    启动服务(本机的服务启动)
    让服务对用户提供服务(路由器配置,iptables)



 

Ansible应用场景分析:

  (1)、Dev开发环境
      使用者:程序员
          功能:程序员开发软件测试Bug的环境
      管理者:千万不能是运维,一定要是程序员自己
  (2)、Dev测试环境
      使用者:测试工程师
         功能:测试经过Dev测试通过的软件的功能
      管理者:运维工程师
         备注:测试环境往往有多套;(测试环境满足测试功能,不宜过多)

          (1)测试同学希望测试环境有多套;
             公司的产品多产品线开发,即多个版本,意味着多个版本同步测试
          (2)通常情况下,测试环境有多少套和产品线保持一致即可
  (3)Dev发布环境(代码发布机,有些公司是堡垒机(安全凭证))
      使用者:运维工程师
          功能:发布代码至生产环境
      管理者:运维工程师(有经验)
      发布机:往往需要有2台(主备)
  (4)、DEV生产环境
      使用者:运维,只能是运维,(极少数情况下会开放权限给核心开发人员,极少数公司将该环境权限完全开放给开发人员并让开发人员维护)
          功能:对用户提供公司的产品服务
      管理者:只能是运维
      生产环境服务器数量,一般比较多,且应用非常重要,往往需要自动化工具协助部署配置应用,机器数量具体和公司业务规模相关
  (5)灰度环境:
      使用者:运维
          功能:在全量发布代码将代码面向少量精准用户发布的环境
           案例:
              大家手头有100台服务器,先发布应用到其中的10台,这10台服务器就是灰度服务器。
      管理者:只能是运维
      为什么需要灰度环境:往往该版本功能变更较大,再全量发布至所有服务器



 

Ansible1.x和2.x的区别:
  (1)、1.9和2.0的API调用方式发生变化,1.9原有的API调用方式2.0不再支持
  (2)、2.0增加了重要功能,ansible-console
  (3)、2.0模块增加很多,500多个模块的数量



 

重要文件和目录:
  /etc/ansible
  /etc/ansible/ansible.cfg 主机配置文件
  /etc/ansible/hosts 执行主机配置文件
  /etc/ansible/roles Roles默认保存目录
  /usr/bin/ansible 临时命令执行工具
  /usr/bin/ansible-console 命令执行控制台,可与用户进行交互
  /usr/bin/ansible-doc 模块功能查询工具
  /usr/bin/ansible-galaxy Roles模块的官方网络平台
  /usr/bin/ansible-playbook 定制自动化任务的编排工具
  /usr/bin/ansible-pull ansible 拉模式
  /usr/bin/ansible-vault 加密程序
  /usr/lib/python2.7/site-packages/ansible Python路径信息



 Ansible 高级自定义插件目录(需要python基础)

  action
  callback
  connection
  filter
  lookup
  vars



Ansible 命令

  ansible

  ansible-doc

  ansible-playbook

  ansible-vault

  ansible-console

  ansible-galaxy

  ansible-pull

posted @ 2018-01-31 11:25  血与火的洗礼  阅读(121)  评论(0编辑  收藏  举报