Ansible

一、基本概念

一个软件工具,基于网络去管理被控节点,使用这个工具前需要具备python环境,支持所有类型系统的管理,不需要在被控节点上安装代理软件或客户端软件,

无代理架构:通过ssh管理linux系统、winrm管理windows系统、snmp管理网络设备、通过云上api接口管理公私有云

模块化管理:可以使用各类语言来开发模块

多级控制:可以有多个主控节点,负载分担主控的压力

配置文件简单:通过yaml文件编写

幂等性:执行一次和重复执行多次 相同的动作,结果都是一样

二、安装

源码包安装:

官网版本GitHub - ansible/ansible: Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com.icon-default.png?t=N7T8https://github.com/ansible/ansible

官方的稳定版本,只更新到2.9版本

releases.ansible.com

wget https://releases.ansible.com/ansible/ansible-2.9.0rc1.tar.gz

wget https://github.com/ansible/ansible/archive/refs/tags/v2.9.0.zip

解压tar包 

构建包

安装

rpm包安装

Index of /ansible/rpm/releaseicon-default.png?t=N7T8https://releases.ansible.com/ansible/rpm/release/使用网址构建一个yum网络源

本地iso镜像文件安装(模块少)

rhel9:yum install ansible-core

rhel8:yum install ansible

可以通过下载集合的方式增加模块

galaxy.ansible.com

使用pip包管理器安装ansible

dnf provides */pip 根据文件名查找属于哪个软件包

pip install ansible==2.9.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

-i后面接的加速器地址

通过容器安装—ansible的导航器

1、安装导航器

dnf install ansible-navigator  -------需要依据相关的ansible专属镜像做作为光盘挂载本地

2、通过网络拉取容器镜像

(需要订阅红帽官网),需要login登录

ansible-navigator images

2、通过本地光盘自带的容器安装,导出tar包

3、每次启动容器默认都是会从网上拉取镜像,我们需要配置一个本地自动化执行环境:在家目录下创建一个.ansible-navigator.yml 文件

作用:如果本地有镜像,就使用本地的镜像

三、ansible的管理

命令集合

ansible-doc -l | wc -l or grep 模块名 查看所有可用模块

ansible-doc -s  user(模块名)   查看模块可用参数

ansible-doc 模块名  查看使用案例examples

1、添加主机列表

去配置文件中修改参数

/etc/ansible/ansible.cfg

删除注释符号,定义主机清单

复制example目录下的主机清单到配置文件所在的目录下

通过ip地址去定义

通过主机名去定义,必须保证主机名和ip地址有对应关系(配置/etc/hosts文件)

通过主机组进行定义

通过范围定义

主机组嵌套

二、查看主机清单

可以使用,号隔开主机名,查看多个主机或者主机组

以通配符来匹配主机

取交集,以m开头的主机并且处于mysql主机组,使用单引号

使用正则表达式匹配

2、配置文件优先级

从高到低

第一:ansible_config 变量

第二:当前所在的工作目录

第三:用户家目录下的.ansible.config

第四:/etc/ansible/ansible.cfg文件

定义一个环境变量ansible_config=/opt/ansible.cfg(uset ANSIBLE_CONFIG 取消环境变量)

将ansible.cfg配置文件拷贝到/opt目录下

将环境变量取消后,在opt目录下查看配置文件仍然是/opt下的ansible.cfg,此时是第二优先级生效

3、调用ansible执行任务

先备份配置文件/etc/ansible/ansible.cfg

[dafaults]

inventory       = /etc/ansible/hosts   主机清单文件路径
ask_pass        = True            是否通过需要密码验证,需要保证被控节点密码相同

remote_user     = devops   指定 远程 被控主机 时所使用的用户


[privilege_escalation]    
become = True
become_method = sudo
become_user= root
become_ask_pass = False

[ssh_connection]   开启ssh加速
ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s

配置主机清单

ad-hoc方式执行任务

ansible 主机/主机组 -m 模块 -a ‘模块参数’ ansible参数

ansible all -m she

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值