运维工具之Ansible详解(二)
二、两大常用命令
上一篇 介绍了Ansible的各项元素、系列命令、Inventory基础,这些是掌握Ansible的基础,本篇接着介绍Ansible两大神器Ad-Hoc命令集和playbook,通过模拟真实的案例和应用场景更深入地了解Ansible。
2.1 Ad-Hoc命令集
1)使用场景
Ad-Hoc源自拉丁语“ad hoc”,意思是“为了这个目的”或“特定目的”。我们可以理解为解决一些简单或者平时工作中临时遇到的任务所做的“临时操作”。比如:临时向某一集群中各个服务器推送一个文件等
2)命令集介绍
Ad-Hoc命令集由/usr/bin/ansible
实现,其命令语法如下:
ansible <host-pattern> [options]
可用[options]有:
- -i PATH,指定inventory信息,默认
/etc/ansible/hosts
- -f NUM, 并发线程数,默认5个线程
- --private-key=PRIVATE_KEY_FILE:指定密钥文件
- -m NAME,指定使用的模块
- -M DIRECTORY,指定模块存放路径
- -a 'ARGUMENTS',模块参数
- -k,认证密码
- -o,标准输出至一行
- -s,相当于Linux系统下的sudo命令
- -t DIRECTORY,输出信息至DIRECTORY目录下,结果文件为远程主机名
- -T SECONDS,指定连接远程主机的最大超时时间,单位是秒
- -B NUM,后台执行命令,超Num秒后中止正在执行的任务
- -P NUM,定期返回后台任务进度
- -u USERNAME,指定远程主机以USERNAME运行命令
- --list-hosts,列出符合条件的主机列表,不执行任何命令
命令执行流程:
场景1:检查主机是否存活
执行命令:
ansible linux -m ping
返回结果:
[root@192-168-158-100-RedHat-7 .ssh]# ansible linux -m ping 192.168.158.16 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" } 192.168.158.23 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" } 192.168.158.176 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" }
“linux”组下有三台linux机器,看下第一台机器的输出
“172.168.158.16”是命令执行的主机;
“Success”表示命令执行成功;
“=>{}”表示详细返回结果如下;
““changed”:false”表示没有对主机做变更;““ping”:"pong"”表示执行ping命令返回了pong
场景2:返回Linux组所有主机的hostname
执行命令:
ansible linux -m command -a 'hostname'
返回结果:
[root@192-168-158-100-RedHat-7 .ssh]# ansible linux -m command -a 'hostname' 192.168.158.16 | CHANGED | rc=0 >> k8sworker 192.168.158.23 | CHANGED | rc=0 >> k8smaster 192.168.158.176 | CHANGED | rc=0 >> 192-168-158-176-RedHat-7
场景3:返回Linux组所有机器
执行命令
ansible linux --list-hosts
返回结果
[root@192-168-158-100-RedHat-7 .ssh]# ansible linux --list-hosts hosts (3): 192.168.158.23 192.168.158.16 192.168.158.176
3)组管理
4)用户与组管理
2.2 playbook快速入门
Ansible使用yaml语法描述配置问津啊,该配置文件被称为Play book,我们称之为“剧本”,每个剧本中都包含一系列的任务。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 本地部署 DeepSeek:小白也能轻松搞定!
· 传国玉玺易主,ai.com竟然跳转到国产AI
· 自己如何在本地电脑从零搭建DeepSeek!手把手教学,快来看看! (建议收藏)
· 我们是如何解决abp身上的几个痛点
· 如何基于DeepSeek开展AI项目
2019-01-26 .Net使用SharpZip解压缩文件