本文章是上一篇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. 2022-11-10:写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。 为了简单起见,你可以假设: words.txt只包括小写字母和 ‘ ‘ 。 每个单词只由小写

    2022-11-10:写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率. 为了简单起见,你可以假设: words.txt只包括小写字母和 ' ' . 每个单词只由小写 ...

  2. 2022-04-23:给定一个长度为4的整数数组 cards 。你有 4 张卡片,每张卡片上都包含一个范围在 [1,9] 的数字。您应该使用运算符 [‘+‘, ‘-‘, ‘*‘, ‘/‘] 和括号 ‘

    2022-04-23:给定一个长度为4的整数数组 cards .你有 4 张卡片,每张卡片上都包含一个范围在 [1,9] 的数字.您应该使用运算符 ['+', '-', '*', '/'] 和括号 ' ...

  3. 2021-07-12:缺失的第一个正数。给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。比如[3,4,5

    2021-07-12:缺失的第一个正数.给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数.请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案.比如[3,4,5 ...

  4. C语言之环形队列

    一.环形队列的优势 环形队列是一种特殊的队列,它可以解决普通队列在使用时空间利用不充分的问题.在环形队列中,当队列满时,队列的尾指针指向队列的起始位置,而不是指向队列的最后一个元素.这样可以在不浪费空 ...

  5. 【数据库】时区及JDBC的时区设置

    JDBC连接时有个TimeZone配置,这玩意到底有用吗?我是使用Postgresql和Mysql两个数据库验证的.结果如下: 数据库 部署方式 版本 JDBC连接TimeZone参数 JDBC连接s ...

  6. weexplus真机调试

    一.连接真机 C:\Users\Lenovo>adb devices List of devices attached C9K7N15722004375 device 确定连接无误,否则执行we ...

  7. 【Haxe】(一)VSCode 搭建 Haxe 开发环境

    前言 咱换工作啦! 新工作这边需要用到的开发语言是 Haxe,最近大概会写几篇笔记.Haxe 的介绍就不写了,打算记录点有用的学习内容,先从搭建开发环境开始吧! 当前适用版本: VSCode:Curr ...

  8. Python-Loguru:让记录日志更装13

    " 今天勇哥来介绍一款让日志记录在 Python 中变得更加轻松愉快的库--Loguru.它提供了强大的功能和简洁的接口,使我们能够以更加灵活和直观的方式记录和管理日志信息,据说比loggi ...

  9. 3. Servlet原理

    Servlet 是 Java Web 应用程序中的重要组件之一,它是一个 Java 类,用于处理客户端 HTTP 请求和生成 HTTP 响应.Servlet 的原理如下: 服务器启动时,Servlet ...

  10. PHP文件包含总结

    1.文件包含小知识 1.1 包含函数 PHP共有4个与文件包含相关的函数: include require include_once require_once include与include_once ...