refer to 官方手册 https://docs.ansible.com/ansible/latest/modules/modules_by_category.html

refer to 中文手册 http://www.ansible.com.cn/

refer to Ansible快速入门 http://getansible.com/

建议使用Redhat Linux 7.4

0.查看linux版本

cat /etc/redhat-release

1.安装ansible

yum install ansible -y

查看ansible版本

2.更新/etc/ansible/hosts

vim /etc/ansible/hosts

(如果需要使用密码认证方式,添加host记录,例如

hk.lihuanhuan.net ansible_ssh_user=root ansible_ssh_pass='xxxx'

(如果需要使用密钥认证方式,添加host记录,例如

[group1]
hk.lihuanhuan.net
 

(如果需要给hosts文件加密,请参考如下流程:

refer to https://docs.ansible.com/ansible/latest/user_guide/vault.html?highlight=vault

#给hosts文件加密
ansible-vault encrypt /etc/ansible/hosts
#给hosts文件解密,文件将转换为明文
ansible-vault decrypt /etc/ansible/hosts #查看加密文件
ansible-vault view hosts #编辑加密文件
ansible-vault edit hosts #使用加密后的hosts文件,交互式
ansible all -m ping --ask-vault-pass
ansible-playbook --ask-vault-pass site.yml #使用加密后的hosts文件,加密密码存在dev-password文件中
ansible all -m ping --vault-password-file dev-password
ansible-playbook --vault-password-file dev-password site.yml
ansible-playbook site.yml --vault-password-file ~/.vault_pass.txt

3.更新/etc/ansible/ansible.cfg

# uncomment this to disable SSH key host checking
host_key_checking = False

4.执行你的第一条ansible命令

如果使用密码认证方式,通过以下方式连接target,例如

#如果使用密码认证方式,而且已经在hosts文件配置了正确的信息
#all  ansible hosts配置的的所有hostname
# -m 表示调用ansible的module
# ping 为ansible的一个module ansible all -m ping

如果使用密钥认证方式,通过以下方式连接target即可,例如

#group1为已经配置的group名称,-u用于指定连接target的用户名,--private-key 指定私钥文件
ansible group1 -m ping -u lihuanhuan80 --private-key /appvol/robin.private

5.使用ansible-playbook去部署一个tomcat,以下是project的结构。源代码请在这里下载https://github.com/ansible/ansible-examples/tree/master/tomcat-standalone 感谢Github上的朋友。


5.1 在/etc/ansible/hosts文件新增一个group

#ansible-vault edit hosts

#hosts文件新增部分,如果使用非root用户登陆,而且要切换到root,ansible_become_pass必须配置
[tomcat-servers]
hb.lihuanhuan.net ansible_ssh_user=root ansible_ssh_pass=password ansible_become_pass=password

5.2 在porject中site.yml配置成这样

---
# This playbook deploys a simple standalone Tomcat 7 server. - hosts: tomcat-servers
remote_user: root
become: yes
become_method: sudo roles:
#- selinux
- tomcat

5.3 在project中hosts配置成这样

[tomcat-servers]
hb.lihuanhuan.net

个人理解,site.yml作为ansible-playbook的入口文件,这里配置的hosts=tomcat-servers ,程序会去project的hosts文件中查找名为tomcat-servers的group和server。project中hosts文件配置的group和server要在ansible的master服务器安装目录中的/etc/ansible/hosts找到。

5.4 把修改好的ansible-playbook project上传到ansible master服务器/appvol/

5.5 在ansible的master服务器上执行ansible-playbook

ansible-playbook /appvol/tomcat-standalone/site.yml --ask-vault-pass

你会在服务器上看到执行的日志,类似下面的截图。

ansible 2.7.1 快速开始的更多相关文章

  1. 基于Ansible实现Apache Doris快速部署运维指南

    Doris Ansible 使用指南 Apache Doris 介绍 Apache Doris是一个现代化的MPP分析型数据库产品.仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析.Apac ...

  2. 【原创】运维基础之Ansible(1)简介、安装和使用

    官方:https://www.ansible.com/ 一 简介 Ansible is a radically simple IT automation engine that automates c ...

  3. Ansible专题整理

    Ansible 专题文章总览 Ansible小手册,仅供参考 文章如未明确说明实验环境,默认如下: OS:Centos 6.7 x86_64 Ansible: 2.1.2.0 Python: 2.6. ...

  4. 自动化运维-ansible入门篇

    1.ansible配置 什么是Ansible IT自动化工具 依赖于现有的操作系统凭证来访问控制远程机器 简单易用.安全可靠 Ansible可以完成哪些任务 配置系统 开发软件 编排高级的IT任务 A ...

  5. Elasticsearch 8.X 节点角色划分深入详解

    文章转载自: https://mp.weixin.qq.com/s/3486iH3VH7TV6lza-a7adQ 0.问题引出 如果你的 Elasticsearch 集群是 7.9 之前的版本,在配置 ...

  6. Ansible快速上手

    ansible 是通过python 语言开发的自动化运维工具,可以实现批量系统设置.批量程序部署.批量执行命令等功能 下面是基于docker使用ansible测试示例,可以让新手快速上手使用 一.新建 ...

  7. Ansible 快速部署 Zabbix 4

    阅读本文章需要具有Ansible.Zabbix基础.本次教程基于如下环境: CentOS 7.x Zabbix 4.0 Ansible 2.5 服务器初始化 关闭防火墙.selinux,添加epel常 ...

  8. Ansible 快速上手(转)

    add by zhj: 执行Ansible(发音时,重音在最前面)命令有两种方式,一种是ad-hoc形式,另一种是playbooks,对于软件开发者来说,一般使用ad-hoc就足够了.playbook ...

  9. ansible 快速入门

    安装 $ sudo apt-get install software-properties-common $ sudo apt-add-repository ppa:ansible/ansible $ ...

随机推荐

  1. Django 六——自定义标签、图片验证码、发送邮件、评论树、组合搜索

    1.自定义标签 2.图片验证码 3.生成邮箱验证码.发送邮件 4.评论树实现 5.组合搜索(Q) 1.自定义标签 配置: a.在app中新建文件夹  templatetags,里面新建  xx.py文 ...

  2. Hotspot GC实现原理

    GC扫描 可达性分析的GC Roots主要是全局性引用或在Stack Frame中 ,现在的应用仅仅方法区往往就有几百兆,这样要这个检查这里面的引用,就必然会消耗很多时间,效率很低. 分析工作在一个保 ...

  3. Tensorflow打造聊天机器人

    Tensorflow聊天机器人 聊天机器人也叫做对话系统,是一个热门领域.微软.facebook.苹果.google.微信.slack都在上面做了大的投入,这是一波新的试图改变人和服务交流的创业浪潮. ...

  4. 【Remove Nth Node From End of List】cpp

    题目: Given a linked list, remove the nth node from the end of list and return its head. For example, ...

  5. 【Permutation Sequence】cpp

    题目: The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of t ...

  6. _cdecl _stdcall

    __cdecl程序的压栈方式为C风格__stdcall为PASCAL风格 举个例子:(1)   C函数  Fun1(a,b,c)   函数调用时,参数压栈顺序为 c , b , a(2)   PASC ...

  7. python 抽象类和接口类

    一.接口类 继承的两种用途: 1.继承基类的方法,并且做出自己的改变或者扩展(代码重用) 2.声明某个子类兼容于某个基类,定义一个接口类interface,接口类中定义了一些接口名(就是函数 名)  ...

  8. Leetcode 649.Dota2参议院

    Dota2参议院 Dota2 的世界里有两个阵营:Radiant(天辉)和 Dire(夜魇) Dota2 参议院由来自两派的参议员组成.现在参议院希望对一个 Dota2 游戏里的改变作出决定.他们以一 ...

  9. [python][django学习篇][4]django完成数据库代码翻译:迁移数据库(migration)

    上一篇我们已经完成数据库的设计,但是仅仅是python语言,并没有真正创建了数据库表.翻译成数据库语言,真正创建数据库表由django manage.py来实现,这一过程专业术语:迁移数据库 切换到m ...

  10. 来自知乎的pthread_cond_wait为什么总是带着mutex

       来自https://www.zhihu.com/question/24116967?q=linux%20%E5%A4%9A%E7%BA%BF%E7%A8%8B%20%E8%99%9A%E5%81 ...