Ansible介绍
一、Ansbile是什么
Ansible是一个自动化管理IT资源的工具(自动化,管理,IT资源)
Ansible功能:系统环境配置,安装软件,持续集成,热回滚
Ansible优点:无客户端;推送式;丰富的module;基于YAML的Playbook
Ansible缺点:效率低,易挂起;并发性能差
Ansible与其他软件比较:
二、Ansible安装部署
环境准备:Python,Setuptools,Pip(可选)
快速安装:安装pip:easy_install pip
安装ansible:pip install ansible
源码安装:获取源码包:https://github.com/ansible/ansible
或者:git clone github.com/ansible/ansible.git
j进入源目录:cd ./ansible
source ./hacking/env-setup
注:源码安装需要安装一些依赖包:paramiko、PyYAML、Jinja2、httplib2、simplejson、pycrypto等模块,以上模块可以通过pip或easy_install 进行安装。
Redhat/CentOS安装:yum install ansible
Ubuntu安装:apt-get install software-properties-common
add-apt-reposity --yes --update ppa:ansible/ansible
apt-get update
apt-get install ansible
安装成功后,可以使用以下命令检查ansible的安装版本:
ansible --version
三、Ansible配置详解
Ansible的配置文件:ansible.cfg
default默认配置项
privilege_escalation 执行命令的用户权限设置
paramiko_connection paramiko插件的设置
ssh_connection ssh连接设置
accelerate
selinux & colors
ask_pass & ask_sudo_pass
ask_pass: 可以控制,Ansible中playbook是否会自动默认弹出密码输出
ask_sudo_pass:用户使用的系统平台开启了sudo密码的话,应该设置该参数为true
gather_subnet
设置收集的内容:包括all,network,hardware,virtual,facter,ohai
remote_port(一般默认为22端口) & remote_tmp & remote_user(一般默认root用户)
客户机的设置,对登录的端口,临时路径和用户的设置
sudo_exe & sudo_flags &sudo_user
sudo命令相关设置,分别是sudo命令路径,sudo参数,能够使用sudo的user
action_plugins & callback_plugins & connection_plugins & filter_plugins & lookup_plugins & vars_plugins
开发者中心的插件相关功能,开发者可以开发相应得插件来完成自己的功能。分别对应的功能为:激活事件,回调,连接,过滤器,加载路径,任何地方加载
forks
最大开辟的进程数,这个数不易过大,过大性能耗费高,不易过小,过小的话,并发性能低,一般的设置方法:cpu核数*2
module_name
这个是/usr/bin/ansible的默认模块名(-m).默认是‘command' 模块。command模块不支持shell变量,管道和配额。
vault_password_file
这个文件也可以称为一个脚本的形式。使用脚本而不是单纯的文件,必须确保其可以执行并且密码可以在标准输出上打印出来;若脚本需要提示请求数据,请求将会发到标准错误输出中。
pattern
如果没有提供“hosts"节点,这是playbook要通信的默认主机组。默认值是对所有主机通信,建议还是设置个选项。
inventory & library
分别为存放可通信主机的目录和ansibile默认搜寻的模块路径。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏