Ansible学习笔记(一)

这篇具有很好参考价值的文章主要介绍了Ansible学习笔记(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.什么是Ansible

官方网站:https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html

Ansible是一个配置管理和配置工具,类似于Chef,Puppet或Salt。这是一款很简单也很容易入门的部署工具,它使用SSH连接到服务器并运行配置好的任务,服务器上不用安装任何多余的软件,只需要开启ssh,所有工作都交给client端的ansible负责。

1.1Ansible的特性

模块化:调用特定的模块,完成特定任务 有Paramiko, PyYAML, Jinja2(模板语言)三个关键模块
支持自定义模块
基于Python语言实现
部署简单,基于python和SSH(默认已安装), agentless
安全,基于OpenSSH
支持playbook编排任务
幂等性:一个任务执行1遍和执行n遍效果一样,不因重复执行带来意外情况
无需代理不依赖PKI(无需ssl)
可使用任何编程语言写模块
YAML格式,编排任务,支持丰富的数据结构
较强大的多层解决方案

1.2 安装ansible (基于centos8)

evernotecid://94B1C6F9-346F-484F-9A1C-D78D4FDE377A/appyinxiangcom/32366038/ENResource/p19
Ansible学习笔记(一),linux,ansible

1.3 配置ansible

ansible 的主配置文件路径:vim /etc/ansible/ansible.cfg

ansible 的主机清单文件路径:/etc/ansible/hosts

在这里我们 将以下2台机子加入清单,也就说ansible要管理这2台受控机。 可以支持多种方式把不同的主机加入到不同的组里。

[dbserver]
192.168.89.129

[webserver]
192.168.89.130

1.4 ansbile的命令执行过程

1.加载自己的配置文件 默认/etc/ansible/ansible.cfg

2.加载自己对应的模块文件,如command

3通过ansible将模块或命令生成对应的临时py文件,并将该 文件传输至远程
服务器的对应执行用户$HOME/.ansible/tmp/ansible-tmp-数字/XXX.PY文件

给文件+x执行

执行并返回结果

删除临时py文件, sleep 0退出
执行状态:
绿色:执行成功并且不需要做改变的操作
黄色:执行成功并且对目标主机做变更
红色:执行失败

利用ansible实现管理的方式:
1.Ad-Hoc 即ansible命令,主要用于临时命令使用场景
2.Ansible-playbook 主要用于长期规划好的,大型项目的场景,需要有前提的规划

1.5 ansible的帮助手册

ansible发展到今天有很多模块,可以通过使用 ansible 模块名 来查看帮助文档 或者 通过ansible -s 模块名来查看最精简的使用方式
evernotecid://94B1C6F9-346F-484F-9A1C-D78D4FDE377A/appyinxiangcom/32366038/ENResource/p16
Ansible学习笔记(一),linux,ansible

2.ansible的使用示例 (ad-hoc)

在使用ansbile之前需要将安装ansible的机器和要被操控的机器之间进行认证,有 密钥和用户名密码2种方式。但是主要是采用密钥方式。

ansible的默认模块是 command ,command模块使用时候有一些限制,所以我们一般将默认的模块变为 shell 模块。更方便我们执行命令
evernotecid://94B1C6F9-346F-484F-9A1C-D78D4FDE377A/appyinxiangcom/32366038/ENResource/p20
Ansible学习笔记(一),linux,ansible

1.使用command模块

evernotecid://94B1C6F9-346F-484F-9A1C-D78D4FDE377A/appyinxiangcom/32366038/ENResource/p18
Ansible学习笔记(一),linux,ansible

2.使用shell模块

因为我们将默认的模块在配置文件里更改成了shell,所以在执行shell模块的命令时候可以不使用 -m 参数

evernotecid://94B1C6F9-346F-484F-9A1C-D78D4FDE377A/appyinxiangcom/32366038/ENResource/p12
Ansible学习笔记(一),linux,ansible

3.copy模块 拷贝文件到受控端

ansible all -m copy -a “src=/data/ansible/test.txt dest=/data/test.txt”
evernotecid://94B1C6F9-346F-484F-9A1C-D78D4FDE377A/appyinxiangcom/32366038/ENResource/p14
Ansible学习笔记(一),linux,ansible

4.fetch模块 从受控端拉取文件到管理端

ansible webserver -m fetch -a “src=/data/test.txt dest=/data/test.txt”
evernotecid://94B1C6F9-346F-484F-9A1C-D78D4FDE377A/appyinxiangcom/32366038/ENResource/p15
Ansible学习笔记(一),linux,ansible

5.service 模块 管理服务

evernotecid://94B1C6F9-346F-484F-9A1C-D78D4FDE377A/appyinxiangcom/32366038/ENResource/p13
Ansible学习笔记(一),linux,ansible

6.yum模块 管理包

ansible dbserver -m yum -a “name=sl”
evernotecid://94B1C6F9-346F-484F-9A1C-D78D4FDE377A/appyinxiangcom/32366038/ENResource/p17
Ansible学习笔记(一),linux,ansible

我的博客有分享更多好玩的计算机知识,欢迎访问 vwo50博客站 .文章来源地址https://www.toymoban.com/news/detail-669258.html

到了这里,关于Ansible学习笔记(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ansible学习笔记3

    ansible模块: ansible是基于模块来工作的,本身没有批量部署的能力,真正具有批量部署的是ansible所运行的模块,ansible只是提供一个框架。 ansible支持的模块非常多,我们并不需要把每个模块记住,而只需要熟悉一些常见的模块,其他的模块在需要的需要用到的时候查询即可。

    2024年02月10日
    浏览(24)
  • Ansible学习笔记5

    copy模块:(重点) copy模块用于对文件的远程拷贝(如把本地的文件拷贝到远程主机上。) 在master的主机上准备一个文件,拷贝文件到group1的所有主机上。 这个用的频率非常高,非常有用的一个模块。主要功能是 统一修改配置文件。 然后到agent1和agent2的机器上检查/etc/hos

    2024年02月10日
    浏览(21)
  • Ansible学习笔记7

    user模块: user模块用于管理用户账户和用户属性。 如果是windows要换一个win_user模块。 创建用户:present: 更改用户uid::这些内容都是Linux基础。 更改用户的属性:那这块还需要自己再进一步的分析: 然后到agent机器上检查: 删除用户: 然后再到agent的机器上检查,可见用

    2024年02月10日
    浏览(25)
  • Ansible学习笔记(二)

    playbook的语法是用yaml写的,yaml是缩进敏感,格式比较严格的一个语法,所以在执行playbook前可以使用-C 来检查 playbook语法是否正确 ansible-playbook -C install_httpd.yml ​ 官方地址:https://galaxy.ansible.com/ ​ “Ansible Galaxy” 指的是一个网站共享和下载 Ansible 角色,也可以是者是帮助 r

    2024年02月11日
    浏览(19)
  • Ansible学习笔记8

    group模块: 创建一个group组: 检查group组的创建: 默认创建用户,并将bbb添加到group5000这个组中。 检查:  把用户添加到一系列组中。 只有先删除bbb用户,然后再删除组: 操作的过程中,还要注意删除用户的家目录。 cron模块: cron模块,用于管理周期性时间任务。 创建一

    2024年02月10日
    浏览(20)
  • Ansible学习笔记10

    1、在group1的被管理机里的mariadb里创建一个abc库; 1)     然后我们到agent主机上进行检查: 可以看到数据库已经创建成功。 再看几个其他命令: script模块: script模块用于在远程主机上执行本地脚本。 脚本在master上,但是可以在agent服务器上执行。 说明:上面这个创建数据

    2024年02月10日
    浏览(19)
  • Ansible学习笔记(持续更新)

    1.1.1 Dev开发环境 使用者:程序员 功能:程序员开发测试软件 管理者:程序员 1.1.2 测试环境 使用者:QA测试工程师(quality assurance) 功能:测试经过Dev环境测试通过的软件功能 管理者:运维 1.1.3 发布环境 使用者:运维 功能:发布代码至生产环境 管理者:运维 发布机:往往

    2024年02月11日
    浏览(31)
  • Linux Ansible角色介绍

    目录 角色的基础结构 角色来源与应用 Galaxy角色 系统角色 自定义角色 角色(roles)用于层次化、结构化地组织playbook roles通过标准化目录结构来装载变量文件、tasks(模块任务)、handlers(处理程序)、jinja2模板等其他资源,然后在play中调用该角色,就能够执行 定义roles可以

    2024年02月01日
    浏览(25)
  • linux————ansible

    目录 一、认识自动化运维 自动化运维主要关注的方面 常见的开源自动化运维工具 二、ansible 特点 环境 免密ssh​编辑 管理机hd1 安装ansible 测试连接性 一、服务器分组 二、ansible模块 查看所有支持的模块 hostname模块 file模块 stat模块 copy模块 fetch模块 user模块 group模块 cron模块

    2024年02月09日
    浏览(21)
  • 【Linux】Ansible 脚本 playbook 剧本

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 playbooks 本身由以下各部分组成 (1)Tasks:任务,即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行 (2)Variables:变量 (3)Templates:模板 (4)Handlers:处理器,当changed状态条件满足时

    2024年02月14日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包