本文章是上一篇ansible自动化运维的快速复习以及项目上用到的一些命令,针对长时间未使用ansible,导致命令忘记的同学,帮助快速回忆。详细内容还是看上一章‘ansible自动化运维’。

查看版本

ansible --version

工作目录

/etc/ansible/ansibel.cfg  &&  /root/.ansible.cfg  &&  ./ansible.cfg  ansible   工作目录优先级从小到大

ssh免密登录

A服务器:
ssh-keygen -t rsa 
scp /root/.ssh/id_rsa.pub B服务器IP:/root/.ssh
B服务器:
cat /root/.ssh.id_rsa.pub  >> /root/.ssh/authorized_keys

ansible配置文件

remote_user 在被管理主机登录时的用户名
ask_pass  是否输入ssh密码
become  连接后是否在被管理主机上切换用户(通常为root)
become_method 切换用户方式(通常为sudo)
become_user  在被管理主机上切换到用户(通常为root)
become_ask_pass 切换用户时是否输入密码,默认为false

ansible临时命令

ansible   主机或主机组  -m  module  [-a `module arguments`]  [-i inventory]
ansible -i myhosts webserver  -m  command -a "touch  /tmp/ansible.txt"
ansible  -i myhosts  webserver  -m yum  -a "name=zsh  state=latest"

playbook格式

---
- name: playbookname
hosts: webservers
tasks:
- name: playname
模块:
参数:
参数:
- name: playname
模块:
参数:
参数:
- name: playname
模块:
参数:
参数:

playbook运行

ansible-playbook site.yml  运行playbook   -vvvv提供四级详细信息
ansible-playbook  --syntax-check  webserver.yml     playbook语法验证
ansible-playbook  -C  webserver.yml     模拟运行
ansible-doc  module_name  查看模块信息

vars定义变量

vars:
   变量名: 变量  
或  变量文件路径          
ansible-playbook main.yml -e "package=apache"  命令行覆盖变量

创建角色

ansible-galaxy init apache 创建apache角色

tasks:包含角色要执行的主要任务列表
handlers:包含处理程序,可以由此角色使用,甚至可以在此角色之外的任何位置使用
defaults:角色默认的变量
vars:角色其他的变量
files:包含可以通过此角色部署的文件
templates:包含可以通过此角色部署的模板
meta:角色定义的一些元数据

其它命令

ansible-vault create filename   创建加密文件

ansible-vault create --vault-password-file=密码文件   test_vault2.yml   指定密码文件创建加密yml

ansible-vault view test_vault.yml   查看加密文件但不打开编辑

ansible-vault edit test_vault.yml   编辑加密文件

ansible-vault encrypt test.yml   加密已存在的文件    --output=test2.yml  加密时另存为文件

ansible-vault decrypt test1.yml   解密文件   --output=test3.yml  解密时另存为文件

ansible-vault rekey test.yml  更改加密文件密码    --new-vault-password-file=密码文件  

ansible-playbook --vault-id 密码/密码文件   test.yml   运行加密的palybook  

ansible-inventory --graph  查看主机清单

when  inventory_hostname in groups['dev']   常用when语句

ansible-galaxy list 查看已安装角色

ansible-galaxy  install -r yml文件   安装角色

Ansible 主机名 -m setup | grep ***查看  使用setup模块查看自带变量

block: 定义要运行的主要任务
rescue: 定义要在block子句中定义的任务失败时运行的任务
always: 定义始终都独立运行的任务,不论block和rescue子句中定义的任务是成功还是失败

date +%s |sha256sum |base64 |head -c 20 ;echo  随机密码生成

Ansible快速复习的更多相关文章

  1. Unity 游戏框架搭建 2019 (十八~二十) 概率函数 & GameObject 显示、隐藏简化 & 第二章 小结与快速复习

    在笔者刚做项目的时候,遇到了一个需求.第一个项目是一个跑酷游戏,而跑酷游戏是需要一条一条跑道拼接成的.每个跑道的长度是固定的,而怪物的出现位置也是在跑道上固定好的.那么怪物出现的概率决定一部分关卡的难 ...

  2. 8. 利用Ansible快速构建MGR | 深入浅出MGR

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 安装ansbile 2. 配置ansible 3. 建立ssh信任 4. 测试ansible 5. 使用ans ...

  3. Ansible 快速入门到放弃

    Ansible 快速入门到放弃 最是人间留不住,朱颜辞镜花辞树. 1-Ansible 简介 Ansible是一个配置管理和配置工具,它使用SSH 连接到服务器并运行配置好的任务,服务器上只需要开启ss ...

  4. Ansible快速上手

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

  5. Ansible 快速部署 Zabbix 4

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

  6. Ansible 快速上手(转)

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

  7. ansible 快速入门

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

  8. 高可用Kubernetes集群-16. ansible快速部署

    说明 本文档指导采用二进制包的方式快速部署高可用kubernetes集群. 脚本托管:k8s-ansible(持续更新) 参考:高可用kubernetes集群 组件版本 组件 版本 备注 centos ...

  9. Ansible 快速上手

    Ansible优点: 充分利用现有设施.使用 Ansible 无需安装服务端和客户端,只要 SSH 即可.这意味着,任何一台装有 Ansible 的机器都可以成为强大的管理端.我觉得,这种去中心化的思 ...

  10. Ansible快速开始-指挥集群

    Ansible可以集中地控制多个节点,批量地执行ssh命令.由于其使用ssh进行操作,因此远端服务器除了安装openssh-server(一般服务器已经内置)之外,不需要安装额外的软件,因此使用非常简 ...

随机推荐

  1. npm安装报错

    npm ERR! request to https://registry.cnpmjs.org/element-ui failed, reason: Hostname/IP does not matc ...

  2. Solon v2.2.17 发布,Java 新的生态型应用开发框架

    相对于 Spring Boot 和 Spring Cloud 的项目: 启动快 5 - 10 倍. (更快) qps 高 2- 3 倍. (更高) 运行时内存节省 1/3 ~ 1/2. (更少) 打包 ...

  3. 【GiraKoo】C++编译中常用的内置宏

    开源项目:https://girakoo.com/ 联系方式:girakoo@163.com 简介 针对不同的平台,很多头文件,函数名称,类型占用空间不一致. 为了保证跨平台可编译,经常需要在项目中使 ...

  4. lxml中xpath获取当前节点所有子节点的文本方法

    一.场景还原 现在假定有如下html代码: <div class="content"> <p>输入只有一行半径r.</p> </div&g ...

  5. 计算机网络IP地址和进制的转换

    目录 一.双绞线 二.计算机的数制 三.单位 四.IP地址的分类 ip地址的 组成 五.特殊地址 六.地址协议 一.双绞线 T568A:白绿.绿.白橙.蓝.白蓝.橙.白棕.棕 T568B:白橙.橙.白 ...

  6. Java的先行发生原则

    先行发生原则(Happens-Before)是Java内存模型定义的一个等效判断原则.依赖这个原则,我们可以通过几条简单规则判断数据是否存在竞争,线程是否安全,而不需要陷入Java内存模型苦涩难懂的定 ...

  7. 【QCustomPlot】配置帮助文档

    说明 使用 QCustomPlot 绘图库辅助开发时整理的学习笔记.同系列文章目录可见 <绘图库 QCustomPlot 学习笔记>目录.本篇介绍 QCustomPlot 帮助文档的配置. ...

  8. 使用 Easysearch 还原 Elasticsearch 快照数据

    本文主要验证 Elasticsearch 快照在 Easysearch 中进行数据恢复. 准备测试数据 索引 别名 模版 生命周期策略 创建快照 PUT /_snapshot/my_backup { ...

  9. LLE算法在自然语言处理中的应用:从文本到实体识别和关系抽取

    目录 文章介绍: 自然语言处理(Natural Language Processing,NLP)是人工智能领域的重要分支,它研究如何将人类语言转化为计算机可理解的格式.NLP的应用非常广泛,从语言翻译 ...

  10. asp.net程序通过Microsoft Azure中SAML协议实现单点登录

    1. 新建应用程序 登录Azure门户,进入左侧菜单"企业应用程序--所有应用程序",点"新建应用程序", 继续点"创建你自己的应用程序", ...