ansible在ubuntu下的安装和使用

ansible在ubuntu下的安装和使用

本文目录

    • ansible在ubuntu下的安装和使用
      • 安装和配置
        • 虚拟机配置
        • 安装和验证
      • 简单使用
        • 创建 ansible cfg 和 inventory 文件
        • 创建剧本并执行
        • 使用 ansible vault 加密

安装和配置

中文文档:http://www.ansible.com.cn/docs/intro_installation.html#apt-ubuntu

虚拟机配置
  • Minimal Installed Ubuntu 22.04 | 20.04
  • Regular user with sudo privileges
  • 2 CPU / vCPU
  • 2 GB RAM or more
  • 20 GB Hard drive
  • Internet Connection
安装和验证
sudo apt updatesudo apt-get install ansible

安装成功后,执行命令验证 ansible 的版本

ansible --version

简单使用

创建 ansible cfg 和 inventory 文件

ansible默认的主配置文件位置:/etc/ansible/ansible.cfg
ansible主机清单:/etc/ansible/hosts

如果没有的话需要自行创建

  • 下载官方配置文件
mkdir demo
cd ~/demowget https://raw.githubusercontent.com/ansible/ansible/stable-2.9/examples/ansible.cfg
  • 修改配置文件
[defaults]
inventory      = /home/demo/inventory
host_key_checking = False
[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False
  • 创建inventory文件
vim inventory
  • 添加对主机的分组和管理
// 本地测试,只添加本机localhost
[local]
localhost ansible_connection=local
  • 重新执行命令,确认是否设置了新的配置文件
ansible --version
  • 执行测试命令
ansible all -m ping[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'

原因是没有默认的inventory,需要指定-i选项来明确指定主机文件的位置

  • 指定主机文件并重新执行
ansible all -m ping -i ~/demo/inventory
  • 检查 inventory 文件存在
ls -l ~/demo/inventory
创建剧本并执行
  • 创建yaml文件作为剧本
vim demo.yaml
---
- hosts: localname: local testtasks:- name: Check disk usagecommand: df -h
  • 使用ansible-playbook命令运行剧本
ansible-playbook demo.yml
  • 报错"module_stderr": "sudo: a password is required\n"
    ansible中执行需要提升权限的任务时需要sudo权限,但是没有提供密码

  • 修改yaml文件,添加权限指定sudo密码

---
- hosts: localname: local testbecome: truebecome_method: sudovars:ansible_become_password: xxxxxxtasks:- name: Check disk usagecommand: df -h

https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_privilege_escalation.html

  • 执行结果
  • 输出结果到终端
---
- hosts: localname: local testbecome: truebecome_method: sudovars:ansible_become_password: 123456tasks:- name: Check disk usagecommand: df -hregister: disk_usage  # 注册变量以存储命令输出- name: Show disk usagedebug:msg: "{{ disk_usage.stdout_lines }}"  # 使用debug模块显示输出
使用 ansible vault 加密
  • 新建密码文件
ansible-vault create secret.yml
  • 添加文件内容
ansible_become_password: your_password

查看创建后的文件内容

  • 剧本中引用加密文件
---
- hosts: localname: local testbecome: truebecome_method: sudovars_files:- secret.yamltasks:- name: Check disk usagecommand: df -hregister: disk_usage  # 注册变量以存储命令输出- name: Show disk usagedebug:msg: "{{ disk_usage.stdout_lines }}"  # 使用debug模块显示输出
  • 使用--ask-vault-pass运行playbook
ansible-playbook demo.yaml --ask-vault-pass

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/221965.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)

试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B) c#调用动态库是报错 目前平台改为x64

字符串函数内存函数(从零到一)【C语言】

长度不受限制的字符串函数:strcpy,strcat,strcmp 长度受限制的字符串函数:strncpy,strncat,strncmp strlen strlen函数是库函数中我们最常使用的函数,它可以求出字符串的长度(不包含‘\0’) 使用方法 通过前面对strlen函数的模拟实现我们知…

智能优化算法应用:基于饥饿游戏算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于饥饿游戏算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于饥饿游戏算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.饥饿游戏算法4.实验参数设定5.算法结果6.…

xcode无线真机调试详细图文步骤

步骤一、 步骤二: 步骤三: 配置完到这里,点击真机右键,菜单栏并未出现connect via ip address 选项,也没出现无线连接的小地球图标,别慌,接着进行下一步操作即可。 步骤四: 1.打开…

【Linux】冯诺依曼体系结构与操作系统及其进程

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:了解冯诺依曼体系结构与操作系统,掌握…

使用ultralytics(YOLOv8)实现RT-Detr

b站视频:https://www.bilibili.com/video/BV12C4y1S75H/ 1 使用ultralytics(YOLOv8)实现RT-Detr https://github.com/ultralytics/ultralytics/blob/a5735724c54a9f5bcb239c151fefbd1337d7123d/docs/zh/models/rtdetr.md 2 安装 YOLOv8安装…

分享一个项目——Sambert UI 声音克隆

文章目录 前言一、运行ipynb二、数据标注三、训练四、生成总结 前言 原教程视频 项目链接 运行一个ipynb,就可操作 总共四步 1)运行ipynb 2)数据标注 3)训练 4)生成 一、运行ipynb 等运行完毕后,获得该…

【powershell】Windows环境powershell 运维之历史文件压缩清理

🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁&am…

关于“Python”的核心知识点整理大全31

目录 12.4.2 在屏幕上绘制飞船 alien_invasion.py ​编辑12.5 重构:模块 game_functions 12.5.1 函数 check_events() game_functions.py alien_invasion.py 12.5.2 函数 update_screen() game_functions.py alien_invasion.py 12.6 驾驶飞船 12.6.1 响应…

虚拟机类加载机制

虚拟机类加载机制 什么是虚拟机的类加载机制? Java虚拟机将描述类的Class文件加载到内存中,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程叫做虚拟机的类加载机制 类加载的时机 一个类…

【MATLAB】史上最全的25种信号分解算法全家桶

有意向获取代码,请转文末观看代码获取方式~ 1 【MATLAB】EMD 信号分解算法 EMD 是一种信号分解方法,它将一个信号分解成有限个本质模态函数 (EMD) 的和,每个 EMD 都是具有局部特征的振动模式。EMD 分解的主要步骤如下: 将信号的…

机器学习数据的清洗,转化,汇总及建模完整步骤(基于Titanic数据集)

目录 介绍: 一、数据 二、检查数据缺失 三、数据分析 四、数据清洗 五、数据类别转化 六、数据汇总和整理 七、建模 介绍: 线性回归是一种常用的机器学习方法,用于建立一个输入变量与输出变量之间线性关系的预测模型。线性回归的目标…

3-10岁孩子语文能力培养里程碑

文章目录 基础能力3岁4岁5岁6-7岁(1-2年级)8-9岁(3-4年级)10岁(5年级) 阅读推荐&父母执行3岁4-5岁6-7岁(1-2年级)8-9岁(3-4年级)10岁(5年级&a…

Elasticsearch:什么是文本分类?

文本分类定义 - text classification 文本分类是一种机器学习,它将文本文档或句子分类为预定义的类或类别。 它分析文本的内容和含义,然后使用文本标签为其分配最合适的标签。 文本分类的实际应用包括情绪分析(确定评论中的正面或负面情绪&…

Linux操作系统(ACL)

ACL (针对特殊用户的特殊权限) 访问控制列表,可以针对文件和目录 ACL的真正效果主要体现在对文件的操作上 1. 如何查看ACL信息:getfacl 文件名(文件路径) 2. 如何设置普通文件ACL信息:setfacl -m u:用户名:权限 文件名 现在要求…

JVM垃圾收集器三色标记算法

垃圾收集算法 分代收集理论 当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。 比…

NFT获工信部首肯!“符合中国国情”的Web3.0发展战略即将问世!

今年3月,香港立法会议员吴杰庄在出席中国全国两会时,提出《关于推动Web3.0产业发展的提案》,针对中国加强Web3.0技术研发、建立标准和培养人才等几方面提岀意见。 本月19日,中国工信部针对该提案提交答复,称该部高度重…

关于“Python”的核心知识点整理大全33

目录 12.8.3 将子弹存储到编组中 alien_invasion.py 注意 12.8.4 开火 game_functions.py 12.8.5 删除已消失的子弹 alien_invasion.py 12.8.6 限制子弹数量 settings.py game_functions.py 12.8.7 创建函数 update_bullets() game_functions.py alien_invasion.py…

【智慧之窗】AI驱动产品探索

一.初识 ChatGPT ChatGPT 是由 OpenAI 开发的自然语言处理(NLP)模型,基于 GPT(Generative Pre-trained Transformer)架构。GPT 系列的模型旨在理解和生成自然语言文本。ChatGPT 专注于支持对话性任务,即与…

如何通过ETLCloud的API对接功能实现各种SaaS平台数据对接

前言 当前使用SaaS系统的企业越来越多,当我们需要对SaaS系统中产生的数据进行分析和对接时就需要与SaaS系统提供的API进行对接,因为SaaS一般是不会提供数据库表给企业,这时就应该使用ETL(Extract, Transform, Load)的…