设为首页 收藏本站
查看: 1325|回复: 0

[经验分享] 在Debian 8 上安装自动化工具Ansible

[复制链接]

尚未签到

发表于 2018-1-3 08:59:18 | 显示全部楼层 |阅读模式
ansible     基于ssh 快速上手(python)没有限制语言(bash,python,perl,ruby)Fedora ,rackspace,evernote在用
  saltstack (c/s)架构  python
  puppet   (c/s)架构  Google在用  ruby语言  (master ,node)
  chef       (c/s)架构  ruby  (workstation开发,server,node ) 需要git,有web ui
如果你是新手,就不要犹豫了,ansible是你最好的选择,本人菜鸟一个。废话少说,开始安装!
实验环境:
192.168.3.190
192.168.3.191
192.168.3.192
  192.168.3.193
1)配置ssh免密码登陆
root@debian:~# ssh localhost
  root@debian:~# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  root@debian:~# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  root@debian:~# scp -r /root/.ssh 其他机器:/root
root@debian:~# chmod 600 /root/.ssh/authorized_keys
接下来:
2)root@debian:~# apt-get install ansible
root@debian:~# ansible --version
ansible 1.7.2
3)Ansible配置

a) 主机定义:
root@debian:~# vim /etc/ansible/hosts
[local]
192.168.3.190  可以是IP或主机名;
[other]
192.168.3.191
192.168.3.192
192.168.3.193
在这里,我定义了两个组,简单说一下,一个主机可以有多个组,建议组名好记一些,因为测试要用。当然你也可以看文件里面的注释。

b)测试
  语法ansible <host-pattern> [options]
  ansible <pattern_goes_here> -m<module_name> -a <arguments>

root@debian:~# ansible other -m ping

192.168.3.192 | success >> {

    "changed": false,

    "ping": "pong"

}

192.168.3.191 | success >> {

    "changed": false,

    "ping": "pong"

使用ping测试,以上显示成功,可以继续其他操作(如果你不懂ping,神仙也救不了你啦)

  常见命令选项:
  -m 模块名
  -a 参数
  -s是此用户sudo无需输入密码

                   注意:命令有挺多的,只列举了几个常用的。
我用ansible的需要是,老大有的时候让我去改配置文件或者上传点东西太浪费时间啦,我不能一台台机器去ssh吧,现在不流行devops嘛!如果你不懂什么意思,还是去多看看书吧,虽然我也不懂!
3)安装服务(可以用playbook):
  root@debian:~# ansible local -a  'apt-get  -y  install softname'
  root@debian:~# ansible all -m command -a "apt-get  -y  install softname"
  命令执行的结果是一样,目前看,单引号和双引号没什么区别,但没有是不行的。
4)文件管理模块-file
  主要用来设置文件、链接、目录的属性,或者移除文件、链接、目录,很多其他的模块也会包含这种作用(简单演示怎么用,上手快,其他的细节还需自己去领悟)
  ##远程拷贝文件----COPY
  ansible other -m copy -a "src=/etc/ansible/ansible.cfg dest=/tmp/ owner=root group=root mode=0644"
  ##删除远程的文件
  ansible other -m file -a "dest=/tmp/ansible.cfg  state=absent  mode=0644"  删除远程的目录
     说明:(1)State:如果是目录不存在,那么会创建目录;如果是文件不存在,那么不会创建文件;如果是link,那么软链接会被创建或者修改;如果是absent,那么目录下的所有文件都会被删除,如果是touch,会创建不存在的目录和文件
     (2)copy:
  backup:在覆盖之前,将源文件备份,备份文件包含时间信息。有两个选项:yes|no
  content:用于替代“src”,可以直接设定指定文件的值
  dest:必选项。要将源文件复制到的远程主机的绝对路径,如果源文件是一个目录,那么该路径也必须是个目录
  directory_mode:递归设定目录的权限,默认为系统默认权限
  force:如果目标主机包含该文件,但内容不同,如果设置为yes,则强制覆盖,如果为no,则只有当目标主机的目标位置不存在该文件时,才复制。默认为yes
  others:所有的file模块里的选项都可以在这里使用
  src:被复制到远程主机的本地文件,可以是绝对路径,也可以是相对路径。如果路径是一个目录,它将递归复制。在这种情况下,如果路径使用“/”来结尾,则只复制目录里的内容,如果没有使用“/”来结尾,则包含目录在内的整个内容全部复制,类似于rsync。
5)用playbook安装服务:
  root@debian:~# cat apache2.yml
  ---
  - hosts: other
  tasks:
  - name: Install apache2 web server
  apt: pkg=apache2  state=installed update_cache=true
  接下来执行playbook
  root@debian:~# ansible-playbook apache2.yml
  注意事项:YAML 还有一个小的怪癖. ansible的 YAML 文件一般开始行都应该是 --- 这是 YAML 格式的一部分, 表明一个文件的开始.(本人试验过,可以去掉不写的!)
  列表中的所有成员都开始于相同的缩进级别, 并且使用一个 "- " 作为开头(一个横杠和一个空格):
  一个字典是由一个简单的 键: 值 的形式组成(这个冒号后面必须是一个空格):

总结:第一天学习ansible,把学习的过程记录下来!稍后会继续学习其他模块。
       有没有觉得自动化很爽!!!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-431051-1-1.html 上篇帖子: 【Ansible 文档】【译文】模版(Jinja2) 下篇帖子: 3.1、Ansible命令简要说明及初步使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表