当前位置: 首页 > 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

相关文章:

  • 做网站发布信息seo教育培训机构
  • 义乌网站建设贵州seo推广
  • 怎么做网站推广的论文平台代运营是什么意思
  • 前几年做那个网站致富百度手机助手官网
  • 在哪个网站可以学做衣服怎么在百度打广告
  • 辽宁响应式网站建设太原网站开发
  • 数的范围(连续数字边界)
  • OceanBase向量检索在货拉拉的探索和实践
  • 论文阅读:A Survey on Large Language Models for Code Generation
  • PYTHON从入门到实践5-列表操作
  • DDNS-GO 使用教程:快速搭建属于自己的动态域名解析服务(Windows 版)
  • SpringBoot基于JavaWeb的城乡居民基本医疗信息管理系统
  • 《汇编语言:基于X86处理器》第4章 复习题和练习,编程练习
  • 工作流引擎技术方案<初版>
  • 逆向入门(8)汇编篇-rol指令的学习
  • JVM 中的 GC 算法演进之路!(Serial、CMS、G1 到 ZGC)
  • 基于 opencv+yolov8+easyocr的车牌追踪识别
  • WinAppDriver 自动化测试:Python篇
  • 达梦数据库安装
  • 【网络实验】-配置用户登录
  • 《高等数学》(同济大学·第7版)第九章 多元函数微分法及其应用第一节多元函数的基本概念
  • UniApp 开发第一个项目
  • 【kubernetes】--Service
  • MySQL为什么默认引擎是InnoDB?
  • numpy常用函数
  • 【基础篇-消息队列】——如何通过网络传输结构化的数据( 序列化与反序列化)