本文章是上一篇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,Ansible,playbook,vault,快速,yml From: https://www.cnblogs.com/lydongbk/p/17630467.html