当前位置: 首页 > news >正文

【Ansible】Ansible入门

文章目录

      • 1. 安装Ansible
      • 2. Ad-Hoc
      • 3. Ansible 主配置文件
      • 4. Ansible 主机清单(静态)
      • 5. 指纹问题的解决方法
      • 6. 推荐使用公钥认证(免密认证)的方式进行连接

1. 安装Ansible

[root@openEuler ~]# yum install -y ansible
...
[root@openEuler ~]# ansible --version
ansible 2.9.27config file = /etc/ansible/ansible.cfgconfigured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']ansible python module location = /usr/lib/python3.9/site-packages/ansibleexecutable location = /usr/bin/ansiblepython version = 3.9.9 (main, Dec 28 2023, 13:48:32) [GCC 10.3.1]

2. Ad-Hoc

Ad-Hoc命令是Ansible提供的一种快速执行简单任务的命令行工具,它允许用户在不编写完整playbook的情况下直接执行单条命令,多用于测试及学习。

ansible <host-pattern> -m <module-name> -a "<module-arguments>" [options]

● host-pattern:指定目标主机或主机组(如:all、webservers、192.168.1.*)
● 模块(-m):指定要使用的Ansible模块
● 模块参数(-a):传递给模块的参数

常用选项列表

选项全称作用示例
-i <路径>- -inventory指定自定义 Inventory 文件-i /etc/ansible/my_hosts.ini
-m <模块名>- -module-name指定要使用的模块(如 command, shell, copy 等)-m shell
-a “<参数>”- -args传递给模块的参数-a “ls -l /tmp”
-u <用户名>- -user指定 SSH 连接用户-u root
-k- -ask-pass提示输入 SSH 密码(默认密钥认证失败时使用)-k
-b- -become使用特权升级(如 sudo)-b
-K- -ask-become-pass提示输入特权密码(如 sudo 密码)-K
- -become-user=<用户>-指定特权升级的目标用户(需配合 -b)- -become-user=postgres
-f <数量>- -forks设置并行执行的主机数(默认 5)-f 10
-l <主机模式>- -limit限制执行的主机范围(支持通配符)-l “web*”
-v / -vv / -vvv–verbose输出详细日志(-vvv 最详细)-vv
- -list-hosts-仅列出匹配的主机,不执行命令- -list-hosts
- -check-模拟执行(Dry Run),不实际修改系统- -check
- -diff-显示文件变更的差异(常用于 copy/template 模块)- -diff
-e “<变量>”- -extra-vars设置额外变量(支持 JSON/YAML 格式)-e “user=admin”
-o"- -one-line简化输出为单行格式-o
-B <秒数>- -background后台异步执行任务(需配合 -P 轮询)-B 3600 -P 60
-t <目录>- -tree将输出结果保存到指定目录(按主机名分文件)-t /tmp/ansible-logs

类比

ansible all -m yum -a "name=vim-enhanced state=present"
name:包的名称
state=present:表示安装(如果已安装则不做操作)
&&
yum install -y vim

● ansible命令中的-m yum等同于shell命令中的yum命令
● ansible命令中的-a state=present等同于shell命令中的install
● ansible命令中的-a name=vim-enhanced等同于shell命令中的vim

3. Ansible 主配置文件

[defaults]	#通用配置项
# 默认Inventory文件路径(主机清单文件)
# inventory = /etc/ansible/hosts# 远程连接用户(默认当前用户)
# rem
http://www.lqws.cn/news/523477.html

相关文章:

  • Git常用操作详解
  • Python核心可视化库:Matplotlib与Seaborn深度解析
  • React 第六十四节Router中HashRouter的使用详细介绍及案例分析
  • 重置 MySQL root 密码
  • 基于STM32的智能节能风扇的设计
  • KNN算法(K近邻算法)
  • K8s在centos7安装及kubectl
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | BackgroundSlider(背景滑块)
  • 设备维修全流程记录,提升设备运维效率
  • 前端面试专栏-主流框架:13.vue3组件通信与生命周期
  • 【MPC】实战:基于MPC的车辆自适应巡航控制 (ACC) 系统设计
  • 《大模型 Agent 应用实战指南》第2章:商业目标与 Agent 能力边界定义
  • APISIX
  • 智慧校园电子班牌系统源码的开发与应用,基于Java/SpringBoot后端、Vue2前端、MySQL5.7数据库
  • LeetCode 3298.统计重新排列后包含另一个字符串的子字符串数目2
  • 北斗导航 | 基于改进奇偶矢量法的CAT I精密进近RAIM算法
  • Spring Boot 系统开发:打造高效、稳定、可扩展的企业级应用
  • 渗透靶场:事件和属性被阻止的反射xss
  • [ linux-系统 ] 基础IO
  • 移除wordpress后台“评论”菜单的三种方法
  • 深入理解 Spring 框架的 Bean 管理与 IOC​
  • arthas助力Java程序Full GC频率大降!
  • 神经网络的运作方式类比讲解
  • TensorFlow Lite (TFLite) 和 PyTorch Mobile介绍2
  • 红外图像增强(dde):基于“基础层-细节层”分解的增强算法
  • 深入学习入门--(一)前备知识
  • 深度学习之分类手写数字的网络
  • 【Linux】Lniux基本指令(1)
  • Acrobat JavaScript 中的 util 对象
  • Windows下安装zookeeper