Ansible playbook批量部署

Ansible playbook批量部署

要求:
通过playbook批量源码部署nginx,并实现配置文件替换,启动服务

环境:
ansible-server:192.168.146.131
ansible-client: 192.168.146.132
ansible-client: 192.168.146.134

1、定义hosts主机列表
在这里插入图片描述
2、创建并配置ansible-book剧本

按照此次案例剧本master-ansible内容相关路径如下:			#提前准备好把源码包与源码配置文件放置以下路径
nginx源码包:/root/nginx-1.18.0.tar.gz			
所替换的nginx配置文件:/data/nginx/nginx.conf

创建ansiblebook剧本,以" .yaml "为后缀

- hosts: nginx
  remote_user: root

  tasks:
    - name: 复制
      copy: src=/root/nginx-1.18.0.tar.gz dest=/usr/local/src/

    - name: 下载依赖包
      shell: yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

    - name: 解压
      shell: tar -xf /usr/local/src/nginx-1.18.0.tar.gz -C /usr/local/

    - name: 编译
      shell: cd /usr/local/nginx-1.18.0;./configure --prefix=/usr/local/nginx

    - name: 安装
      shell: cd /usr/local/nginx-1.18.0;make && make install
      
    - name: 替换配置文件
      copy: src=/data/nginx/nginx.conf dest=/usr/local/nginx/conf/nginx.conf

    - name: 启动服务
      shell: /usr/local/nginx/sbin/nginx

    - name: 查看进程
      shell: netstat -nptl | grep "nginx"
      
##Ansible-playbook剧本格式一定要严格,行数对齐,空格就全空格,tab就全tab,此处建议空格
 #像是此处“编译”中的命令如果拆成两句来完成就会执行失败,所以遇到需要进入到某个特定的路径才能执行的命令最好一条命令完成

在这里插入图片描述
测试脚本:ansible-playbook -C nginx.yaml
开始脚本:ansible-playbook nginx.yaml

在这里插入图片描述
示例二:
假设发放同一个剧本,但主机名、地址或端口又分别以各自的实际命名为标准,则

vim /etc/ansible/hosts
[nginx]
192.168.146.132 ansible_ssh_host=192.168.146.132 ansible_ssh_port=80
192.168.146.134 ansible_ssh_host=192.168.146.134 ansible_ssh_port=8080
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Ansible部署MHA(MySQL高可用性解决方案),可以按照以下步骤进行操作: 1. 首先,创建一个playbook文件,比如playbook_mha.yml。在该playbook中,你需要指定你的目标主机和任务。 2. 在playbook_mha.yml中,使用ansibleshell模块来执行必要的命令。可以参考引用中的示例,使用ansible-playbook命令来执行playbook文件。 3. 在MHA节点上停止httpd服务,可以使用ansible的service模块。可以参考引用中的示例,使用ansible命令来停止httpd服务。 4. 在web服务器上安装httpd软件包,可以使用ansible的yum模块。可以参考引用中的示例,使用ansible命令来安装httpd软件包。 5. 在playbook_mha.yml中添加其他必要的任务,例如设置MHA配置文件、启动MHA等。 通过以上步骤,你可以使用ansible-playbook部署MHA。请根据你的具体需求进行相应的修改和配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ansible-playbook](https://blog.csdn.net/m0_61664359/article/details/120552327)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [第二十周 ansible playbook实现httpd批量部署和MySQL高可用方案MHA](https://blog.csdn.net/hfhshwj/article/details/115911358)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值