ansible playbook 入门

举报
Nick Qiu 发表于 2018/12/22 19:25:45 2018/12/22
【摘要】 ansible playbook 入门前言ansible playbook 是什么?是一门自动化运维的编程语言,顺序、条件、循环等操作;使用yaml格式实现;支持编排非常复杂的任务;是对adhoc的编码;hello word在本章节我们会使用playbook 在服务器上输出一条命令。host 文件 /etc/ansible/hostweb1 ansible_ssh_port=22 ansib...

ansible playbook 入门

前言

ansible playbook 是什么?

  • 是一门自动化运维的编程语言,顺序、条件、循环等操作;

  • 使用yaml格式实现;

  • 支持编排非常复杂的任务;

  • 是对adhoc的编码;

hello word

在本章节我们会使用playbook 在服务器上输出一条命令。

  • host 文件 /etc/ansible/host

web1 ansible_ssh_port=22 ansible_ssh_host=192.168.3.90 ansible_ssh_user=root
[webs]
web1
  • test.yaml

---
- hosts: webs
  remote_user: root
  tasks: 
  - name: Hello world 
    shell: ls /root
  • 执行playbook

fangleMac:ansible fangle$ ansible-playbook test.yaml 

PLAY [webs] ***************************************************************************************************************************

TASK [Gathering Facts] ****************************************************************************************************************
ok: [web1]

TASK [Hello world] ********************************************************************************************************************
changed: [web1]

PLAY RECAP ****************************************************************************************************************************
web1                       : ok=2    changed=1    unreachable=0    failed=0

用户变量

---
- hosts: webs
  remote_user: root
  vars:
      path: /root
  tasks: 
  - name: Hello world 
    shell: ls {{path}}

如上图所示,程序声明了一个变量path,声明在vars对象下,使用直接用2个花括号包含即可; 需要注意的是如果这里变量直接声明为/root,那么shell后面的语句需要整个用引号包含起来,不然会报错;shell: "{{path}}"

系统变量

ansible 给我们提供了很多的系统变量


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。