ansible基础概念

ansible基础概念_第1张图片

一、【写在前面】

前面断更了几天,笔者被流感给干倒了,去拍了个核磁,给我脑子干成脱髓鞘了,也不知道是之前新冠导致的还是如何,哎要变成愚蠢的低级动物了……稍微恢复一点体力,今天赶快来博客水一水文章。

ansible是一种常用的批量管理工具,像这种直接拿来用的工具,特别容易被很多的概念干懵,不过稍微用心看一下倒是很容易理解,这篇文章介绍一下Ansible常用的几个大块命令

二、【常用命令】

1. ansible:用于运行 Ad-hoc 命令的主命令。可以在远程主机上执行单个命令。

ansible all -i inventory -m shell -a 'ls -la /etc/'

 这个命令会根据inventory中的机器记录,对远端执行一个ls命令

2. ansible-config:用于管理 Ansible 的配置文件,例如查看配置、修改配置项等。

ansible-config view

 该命令可以查看当前 Ansible 的配置信息

3. ansible-console:提供一个交互式的 Ansible 控制台,允许用户在控制台中执行命令。

ansible-console -i inventory_file

 这个命令会根据主机清单文件创建一个交互窗口

4. ansible-doc:用于查看 Ansible 模块的文档。可以查看特定模块的详细信息和用法示例。

ansible-doc yum

 这个命令会显示 yum 模块的文档,包括详细信息、用法示例等。

5. ansible-galaxy:用于管理 Ansible 角色的工具。可以搜索、安装、发布和构建 Ansible 角色。

ansible-galaxy install username.rolename

 这个命令用于安装一个特定的 Ansible 角色,可以从 Ansible Galaxy 上指定作者和角色名进行安装

6. ansible-inventory:用于管理 Ansible 的主机清单文件。可以列出、测试和修改主机清单。

ansible-inventory --list

 这个没什么说的就是一个列出清单内容

7. ansible-playbook:用于运行 Ansible 剧本(Playbook)。剧本是包含一系列任务的文件,用于自动化部署和配置管理。

ansible-playbook deploy.yml

 执行一下名为deploy的这个剧本,机器清单使用默认的清单

8. ansible-pull:允许从远程版本控制系统(如 Git)拉取 Ansible 配置并在目标主机上运行。

ansible-pull -U https://github.com/yourusername/yourrepo.git

考虑到剧本虽然只是一个yaml格式的配置文件,但本质也是代码,那么我们就可以做代码版本控制到git上,这个命令本质就是在拉取一个剧本执行。

另外我注意到这个命令主要放在crontab里面合用,利用拉取命令和定时命令,可以把自动化做得飞起。

9. ansible-vault:用于加密和解密 Ansible 文件,包括 Playbooks、变量文件等。可用于保护敏感数据。

ansible-vault encrypt secret.yml

另外这边说一下,对于密钥管理,ansible还支持hashicorp vault,这个工具我看用的人也很多,有机会也介绍一下。

你可能感兴趣的:(ansible,运维,linux,服务器,网络)