简单ansible操作
Ansible
用于配置管理、应用程序部署、任务自动化
ansible主机清单
定义组
[webservers] # 定义组  | 
o打
Ping 模块
ansible all -m ping
通过 Ping 模块测试所有主机是否可达。
Shell 模块
ansible all -m shell -a 'uptime'
在所有主机上执行
uptime命令。Command 模块
ansible all -m command -a 'ls /tmp'
使用
command模块列出/tmp目录下的文件。Copy 模块
ansible all -m copy -a 'src=/path/to/source dest=/path/to/destination'
将本地文件复制到远程主机。
File 模块
ansible all -m file -a 'path=/tmp/testfile state=touch'
在远程主机上创建一个空文件。
Service 模块
ansible all -m service -a 'name=httpd state=started'
启动所有主机上的 httpd 服务。
User 模块
ansible all -m user -a 'name=johndoe state=present'
创建一个名为
johndoe的用户。
常用选项
-i <inventory>:指定主机清单文件。例如-i hosts。--list-hosts:列出将运行任务的主机。-l <subset>:指定要执行任务的主机子集。例如-l webservers。-u <user>:指定远程主机用户。例如-u root。-k:提示输入 SSH 密码。--ask-become-pass:提示输入 sudo 密码。-e <extra_vars>:传递额外变量。例如-e "var1=value1 var2=value2"。
示例详解
列出主机
ansible all --list-hosts
列出所有在清单中的主机。
指定用户和密码执行命令
ansible all -m shell -a 'df -h' -u root -k
使用 root 用户执行
df -h命令,并提示输入密码。传递额外变量
ansible all -m shell -a 'echo {{ var_name }}' -e 'var_name=HelloWorld'
传递变量
var_name,并在命令中使用。
高级用法
使用标签
ansible all -m shell -a 'systemctl restart httpd' --tags "restart"
使用标签来组织和执行特定的任务。
检查主机连通性
ansible all -m ping -i inventory/hosts
使用指定的主机清单文件检查连通性。
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Kalyan的小书房!
 評論

.jpg)
.jpg)
.jpg)
.jpg)
.jpg)