- ansible使用什么协议?
ansible使用ssh协议,只需要通过ssh访问即可执行管理和配置任务;这种方式简化了部署过程,提高了灵活性,同时也减少了维护成本;
李景波
- ansible常用模块
(1)ping模块:主要用来进行主机间的连通性测试;
李景波
(2)command模块:可以在远程主机上执行命令,并将结果返回到本主机:
(3)shell模块:可以在远程主机上调用shell命令,支持shell的各种功能;
(4)copy模块:用于将文件复制到远程主机,同时支持给定内容生成文件和修改权限;
(5)file模块:该模块主要设置文件的属性,比如删除文件,创建链接文件;
(6)fetch模块:该模块用于从远程主机获取(复制)文件到本地;
(7)cron模块:用于管理cron计划任务;
(8)yum模块:主要用于软件安装;
(9)server模块:用于管理服务;
(10)user模块:用于管理账号;
(11)group模块:用于添加或者删除组;
(12)script模块:用于将本机的脚本在被管理端的机器上运行,直接指定脚本的路径;
(13)setup模块:用于收集远程服务器的信息;
(14)get_url模块:用于将文件或软件从http、httpd或者ftp上下载到本地节点;
(15)stat模块:检查文件系统的状态;
(16)unarchive模块:从本地机器上复制存档后,将其解包;
—
– name: 我的第一个 Ansible 剧本 #定义剧本名称
hosts: all #指定要运行剧本的主机组或主机
remote_user:root #只用root用户登录
become: yes #启用权限提升(即以超级用户权限运行任务)
become_method: sudo #指定权限提升的方法,这里是sudo
gather_facts: yes #收集目标主机信息
vars: #定义剧本中的变量
my_variable: “示例变量”
tasks: #定义要执行的任务列表
– name:启动httpd #任务的名称
systemd: #使用systemd模块来管理服务状态
name: httpd
state: started
– name: 安装 Nginx
yum: #使用yum模块来管理软件包
name: nginx
state: presen
handlers: #定义处理程序列表,这些处理程序可以在任务通知时触发;
– name: 重启 Nginx 服务
ansible.builtin.systemd:
name: nginx
state: restarted