Ansible基础

Ansible是一个开源 的基于openssh的自动化配置管理工具。可以用它来配置系统,部署软件和编排更高级的IT任务,比如持续部署或零停机更新。Ansible的主要目标是简单和易用,通过Ansible可以批量管理大型运维环境。

Ansible 是一个用 Python 开发的自动化运维工具,它能执行批量系统配置、批量程序部署、批量运行命令等任务,还能执行如零宕机时间的滚动更新等高级任务。Ansible 本身是一个执行框架,真正执行运维任务的是它的诸多模块。

简单来说,当我们每天重复去对受管主机进行多项维护时,在shall里使用命令行的操作方式会很繁琐,使用playbook就会大大减小运维人员的工作量。

基本用语:

control node 控制节点
即安装了ansible服务的主机,也称为ansible控制端,主要是用来发布运行任务,调用功能模块,以及对其他主机进行批量控制
managed node 受控节点
被ansible服务所管理的主机,称为受控主机或客户端,是模块命令的被执行对象
inventory 主机清单
受控节点的列表,可以是IP地址、主机名或域名
module 模块
用于实现特定功能的代码;ansible默认带有上千款模块;可以在ansible galaxy中选择更多的模块
task 任务
要在ansible客户端上执行的操作
playbook 剧本
通过YAML语言编写的可重复执行的任务列表;把重复性的操作写入到剧本文件中后,下次可直接调用剧本文件来执行这些操作
role 角色
从ansible 1.2版本开始引入的新特性,用于结构化地组织剧本;通过调用角色可实现一连串的功能

ansible部署:

本地源没有ansible,需要网络源(这里使用的清华大学开源镜像站https://mirrors.tuna.tsinghua.edu.cn/centos/8/configmanagement/x86_64/ansible-29/)

yum install ansible -y 安装服务
ansible --version 查看ansible版本

ansible服务主配置文件优先级顺序

		高 ./ansible.cfg

		中 ~/ansible.cfg

		低 /etc/ansible/ansible.cfg 默认

ansible命令执行过程

1.加载配置文件,默认/ect/ansible/ansible.cfg
2.加载自己对应的模块文件,如command、yum、shell、mount等
3.通过ANSIBLE将模块或命令生成对应的临时py文件,并将文件传输至远程服务器的对应执行用户$HOME/.ansible/tmp/ansible-tmp-数字/xxx.py文件
4.给文件 +x权限
5.执行并返回结果
6.删除临时py文件,sleep 0 退出

ansible主配置文件:

[defaults] ##默认配置

inventory = /ansible/inventory ##控制主机清单文件

创建配置文件中描述的被控主机清单文件{主机清单是Ansible的一个重要内容。在主机清单内,定义了Ansible需要控制的主机有哪些,以及其用户名、密码等信息,这些信息可以使得Ansible通过SSH链接到指定主机上。}

host_key_checking = False ##设置是为了关闭第一次使用 Ansible 连接客户端时的 SSH 主机密钥检查。

roles_path = /usr/share/ansible/roles/:/ansible/roles ##角色路径

ansible主机清单文件:

[all:vars]

ansible_ssh_user=root

ansible_ssh_pass=123

配置ansible的host文件,并配置通用账号密码,这里使用root账户

可以使用ansible-inventory --graph命令查看受控主机

posted @   CheneyP  阅读(14)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示