Ansible工具的初步使用

目录

概述

Ansible工具的初步使用

实践

ansible的命令行使用

bash 复制代码
# 模块 shell(执行shell命令)、copy、systemd
# ansible [pattern] -i hosts
# pattern:匹配执行的ansible节点、组名、主机名、all、多个组或主机用逗号合并
# -i hosts: 指定hosts(每个人指定自己的hosts、不改默认,即定义plyabook规则的文件名) /etc/ansible/hosts(默认、一般不做修改)
# -m:模块名
# -a:模块参数
# --diff 比较异同 --check 检测
# ansible nodes -i hosts --list-hosts   --list-hosts:匹配哪些机器,打印出来
# -f --fork 默认为5  指定最大进程数
# -e "" 传入变量
# [root@ks2p-hadoop04 ~]# man ansible  显示帮助文档
# -v -vv -vvv -vvvv 打印ansible详细执行日志
[root@ks2p-hadoop04 ansible]# ansible nodes -i hosts -m shell -a "ls /data/soft"
ks2p-hadoop06 | CHANGED | rc=0 >>
apache-kyuubi-1.8.0-bin
flink-1.17.1
kyuubi.tgz
new.tgz
ks2p-hadoop07 | CHANGED | rc=0 >>
spark-3.0.2-bin-hadoop3.2.tgz
spark-3.0.3-bin-hadoop3.2.tgz
spark-3.1.2-bin-hadoop3.2.tgz
[root@ks2p-hadoop04 ansible]# ansible nodes -i hosts -m copy -a "src=hosts dest=/data/soft/hosts"
ks2p-hadoop06 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": true, 
    "checksum": "aaaffde09aa44b0e01eaa0559cd841f80a7eaa2b", 
    "dest": "/data/soft/hosts", 
    "gid": 0, 
    "group": "root", 
    "md5sum": "38d63d2eca30455056de0116a850f327", 
    "mode": "0644", 
    "owner": "root", 
    "size": 179, 
    "src": "/root/.ansible/tmp/ansible-tmp-1713236123.87-49670-171904112008748/source", 
    "state": "file", 
    "uid": 0
}
ks2p-hadoop07 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": true, 
    "checksum": "aaaffde09aa44b0e01eaa0559cd841f80a7eaa2b", 
    "dest": "/data/soft/hosts", 
    "gid": 0, 
    "group": "root", 
    "md5sum": "38d63d2eca30455056de0116a850f327", 
    "mode": "0644", 
    "owner": "root", 
    "size": 179, 
    "src": "/root/.ansible/tmp/ansible-tmp-1713236123.88-49672-160837999053406/source", 
    "state": "file", 
    "uid": 0
}
[root@ks2p-hadoop04 ansible]# ansible nodes -i hosts -m shell -a "ls /data/soft"
ks2p-hadoop06 | CHANGED | rc=0 >>
apache-kyuubi-1.8.0-bin
flink-1.17.1
hosts
kyuubi.tgz
new.tgz
ks2p-hadoop07 | CHANGED | rc=0 >>
hosts
spark-3.0.2-bin-hadoop3.2.tgz
spark-3.0.3-bin-hadoop3.2.tgz
spark-3.1.2-bin-hadoop3.2.tgz

ansible-playbook

ansible-playbook -i hosts test.yml

yaml 复制代码
# 剧本集

- hosts: nodes
  gather_facts: false
  tasks:
    - name: 上传hosts文件
      copy:
        src: hosts
        dest: /data/soft
    - name: hosts存在将不执行
      shell: pwd
      args:
        chdir: /tmp
        creates: /data/soft/hosts # 该文件存在,则不执行
    - name: 打印调试信息
      debug:
        msg: "hello"

- hosts: tbj
  gather_facts: false
  tasks:
    - name: 打印跳板机hostname
      shell: hostname
bash 复制代码
[root@ks2p-hadoop04 ansible]# ansible-playbook -i hosts test.yml

PLAY [nodes] ***********************************************************************************************************************************************************************

TASK [上传hosts文件] *******************************************************************************************************************************************************************
changed: [ks2p-hadoop06]
ok: [ks2p-hadoop07]

TASK [hosts存在将不执行] *****************************************************************************************************************************************************************
ok: [ks2p-hadoop06]
ok: [ks2p-hadoop07]

TASK [打印调试信息] **********************************************************************************************************************************************************************
ok: [ks2p-hadoop06] => {
    "msg": "hello"
}
ok: [ks2p-hadoop07] => {
    "msg": "hello"
}

PLAY [tbj] *************************************************************************************************************************************************************************

TASK [打印跳板机hostname] ***************************************************************************************************************************************************************
changed: [ks2p-hadoop04]

PLAY RECAP *************************************************************************************************************************************************************************
ks2p-hadoop04              : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
ks2p-hadoop06              : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
ks2p-hadoop07              : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

官方文档

Module Index

playbooks

roles

相关推荐
csdn134245 小时前
ansible
ansible
Linux运维技术栈3 天前
Ansible(自动化运维)环境搭建及ansible-vault加密配置
运维·自动化·ansible
花晓木3 天前
ansible安装文档
ansible
vvw&3 天前
如何在 Ubuntu 22.04 上安装 Ansible 教程
linux·运维·服务器·ubuntu·开源·ansible·devops
☆凡尘清心☆4 天前
CentOS-stream-9安装ansible
linux·centos·ansible
墨水\\4 天前
Ansible---playbook剧本
ansible
墨水\\5 天前
Ansible部署及基础模块
服务器·网络·ansible
七七powerful5 天前
ansible play-book玩法
linux·服务器·ansible
Karoku0667 天前
【自动化部署】Ansible循环
linux·运维·数据库·docker·容器·自动化·ansible
W u 小杰7 天前
Ansible基本用法
服务器·网络·ansible