1.安装
- Ansible 是 Python 编写的
- 安装教程在 ansible 官网有
- 只需要在管理主机上安装 ansible 即可
2.两种命令方式
ad-hoc
- ad-hoc 通常用来描述临时性、特定目的的操作或解决方案,与长期规划或结构化方法相对。在 Ansible 中,ad-hoc 命令即为为特定目的而设计的临时性命令,用于快速执行特定任务而无需编写完整的 Playbook。
ansible [pattern] -m [module] -a "[module options]"
-[pattern]=目标主机和组
- "all" = 默认组包含每一个主机
playbook
- 类似于 shell 脚本
-Ansible Playbook 是一种用 YAML 格式编写的文件,用于定义一系列任务和配置项,以实现自动化部署、配置管理和编排。Playbook 包含了一系列 Play 以及对应的任务,可以描述系统的状态和所需的操作,如安装软件、配置文件、启动服务等。通过执行 Playbook,可以实现对远程主机的自动化管理和配置。
- 类似于 shell 脚本
3.准备受控主机
安装 Linux 操作系统
- 需要有安装 Python
- ls /usr/bin/python3 查看是否安装
4.连接受控主机
- 指定服务器的 ip 地址或主机名称
- 指定服务器的用户名密码或私有 ssh 密钥
如果你不会配置密钥可以查看
- 具体实现
# 1.
cd ~
# 2. 编写hosts
vim hosts
192.168.136.136 ansible_ssh_private_key_file=~/.ssh/id_rsa ansible_user=root
# 3. 检查密钥是否生效
ansible all -i hosts -m ping
5.主机组
- 您可以将每个主机放在多个组中
- 您可以创建跟踪的群组
where - a datacenter/region,e.g.east,west
what - e.g database servers,web servers etc.
when - which stage,e.g. dev,test,prod environment
vim hosts
[droplet]
192.168.136.136 ansible_ssh_private_key_file=~/.ssh/id_rsa ansible_user=root
6.变量
- 试想 [5.主机组] 中配置 50 个主机,我们会发现私钥路径重复了,这时我们可以通过配置变量来解决重复的问题
# 1.
vim hosts
# 2.
[droplet]
192.168.136.136
[droplet:vars]
ansible_ssh_private_key_file=~/.ssh/id_rsa
ansible_user=root
ansible droplet -i hosts -m ping
评论 (0)