惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
博客园 - 三生石上(FineUI控件)
人人都是产品经理
人人都是产品经理
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
L
LINUX DO - 热门话题
N
Netflix TechBlog - Medium
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
Vercel News
Vercel News
P
Palo Alto Networks Blog
C
CERT Recently Published Vulnerability Notes
Simon Willison's Weblog
Simon Willison's Weblog
I
Intezer
L
Lohrmann on Cybersecurity
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
D
Darknet – Hacking Tools, Hacker News & Cyber Security
P
Proofpoint News Feed
The Register - Security
The Register - Security
T
Threat Research - Cisco Blogs
P
Privacy & Cybersecurity Law Blog
A
Arctic Wolf
F
Fortinet All Blogs
V
Vulnerabilities – Threatpost
The Hacker News
The Hacker News
V
Visual Studio Blog
Know Your Adversary
Know Your Adversary
博客园 - Franky
C
Check Point Blog
P
Privacy International News Feed
NISL@THU
NISL@THU
T
Tenable Blog
云风的 BLOG
云风的 BLOG
T
Tailwind CSS Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
B
Blog RSS Feed
A
About on SuperTechFans
L
LangChain Blog
Cyberwarzone
Cyberwarzone
Security Latest
Security Latest
C
CXSECURITY Database RSS Feed - CXSecurity.com
G
Google Developers Blog
WordPress大学
WordPress大学
T
Threatpost
Y
Y Combinator Blog
Last Week in AI
Last Week in AI
The GitHub Blog
The GitHub Blog
爱范儿
爱范儿
T
Tor Project blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Spread Privacy
Spread Privacy

博客园 - wenha

代码行统计工具 Linux之SSH远程登录 大模型基础(六):从聊天机器人到智能体-大模型的下一站 大模型基础(五):RAG入门-让大模型学会"开卷考试" 大模型基础(四):强化学习入门-从斯金纳箱到大模型推理 大模型基础(三):大模型是怎么炼成的-从预训练到强化学习的完整流程 数据库隔离级别 踩坑记录:UTF-8、UTF-8-BOM 与 GB2312 读取的乱码真相 大模型基础(二):必懂5大基础概念《Token、上下文窗口、Embedding、预训练、微调》 大模型基础(一):什么是LLM? 告别玄学调参:Agent 稳定落地的核心——Harness Engineering 体验优先:十分钟使用 Python+LangChain 玩转阿里通义千问 运维工具之Ansible详解(一) 自建K8S集群认证过期 单点登录的设计与实现思路 (三)Dockerfile基础 (二)Docker镜像、容器、数据卷 (一)Docker简介 Go语言学习笔记(四) Go语言学习笔记(三) Redis学习笔记(一)配置文件参数说明 Go语言学习笔记(二) CentOS上安装RabbitMQ CentOS上安装Redis NodeJS学习笔记(一) JavaScript的发展史 用户中心 - 博客园
运维工具之Ansible详解(二)
wenha · 2025-01-26 · via 博客园 - wenha

二、两大常用命令

上一篇 介绍了Ansible的各项元素、系列命令、Inventory基础,这些是掌握Ansible的基础,本篇接着介绍Ansible两大神器Ad-Hoc命令集和playbook,通过模拟真实的案例和应用场景更深入地了解Ansible。

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,列出符合条件的主机列表,不执行任何命令
    命令执行流程:
    ansible命令执行流程

场景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,我们称之为“剧本”,每个剧本中都包含一系列的任务。

1)语法简介

2)案例分析

2.3 实战

1)ansible部署node.js

2)基于LAMP的自动化部署

3)部署tomcat