美文网首页
使用ansible-playbook-案例4

使用ansible-playbook-案例4

作者: H_appiness | 来源:发表于2020-01-17 18:07 被阅读0次

脚本文件如下

#!/bin/bash
#配置开机启动node_exporter
tar -zxf node_exporter-0.18.0.linux-amd64.tar.gz
cp -R node_exporter-*/node_exporter /usr/local/bin/node_exporter
echo "---验证版本---"
node_exporter --version
#创建工作目录
mkdir -p /var/lib/node_exporter
#创建并编写配置启动项配置文件
cat > /usr/lib/systemd/system/node_exporter.service <<EOF
[Unit]
Description=node_exporter

[Service]
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target

EOF

systemctl daemon-reload && systemctl start node_exporter && systemctl enable node_exporter
echo "---验证---"
systemctl status node_exporter
echo "---开机自启动---"
systemctl list-unit-files | grep node_exporter
echo "---监听端口---"
ss -ntlp | grep 9100
#清除无用包
rm -rf ./node_exporter-*

运行一个playbook

playbook中包含安装基础软件包 拷贝脚本文件 运行脚本文件

vim script.yml

- hosts: ansible-node2
  tasks:
  - name: 安装基础软件包
    yum:
      name: "{{ item }}"
      state: installed
    with_items:
      - wget
      - lrzsz
      - tree
      - net-tools

- hosts: ansible-node2
  tasks:
  - name: 拷贝node_exporter-0.18.0.linux-amd64.tar.gz安装包
    copy: src=/root/node_exporter-0.18.0.linux-amd64.tar.gz dest=/root/node_exporter-0.18.0.linux-amd64.tar.gz owner=root group=root backup=yes

- hosts: ansible-node2
  tasks:
  - name: 拷贝node_exporter.sh脚本
    copy: src=/root/node_exporter.sh dest=/root/node_exporter.sh owner=root group=root mode=0755 backup=yes

- hosts: ansible-node2
  tasks:
  - name: 运行node_exporter.sh脚本
    shell: sh node_exporter.sh

检查playbook语法

ansible-playbook script.yml --syntax-check

单独拷贝文件到目标机器

ansible ansible-node3 -m copy -a "src=/root/node_exporter.sh dest=/root/node_exporter.sh 
backup=yes"

解析:

-m 指定使用哪个模块
src=执行ansible的机器
dest=目标机器
src指定的是文件则dest也必须指定文件
src指定的是目录则dest也必须指定目录
backup=yes 备份远程节点上的原始文件,在拷贝之前。如果发生什么意外,原始文件还能使用。

相关文章

网友评论

      本文标题:使用ansible-playbook-案例4

      本文链接:https://www.haomeiwen.com/subject/ukchzctx.html