Ansible工具的初步使用

news/2024/9/23 8:01:02/

目录

概述

Ansible工具的初步使用

实践

ansible_6">ansible命令行使用

# 模块 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

ansibleplaybook_81">ansible-playbook

ansible-playbook -i hosts test.yml

# 剧本集- hosts: nodesgather_facts: falsetasks:- name: 上传hosts文件copy:src: hostsdest: /data/soft- name: hosts存在将不执行shell: pwdargs:chdir: /tmpcreates: /data/soft/hosts # 该文件存在,则不执行- name: 打印调试信息debug:msg: "hello"- hosts: tbjgather_facts: falsetasks:- name: 打印跳板机hostnameshell: hostname
[root@ks2p-hadoop04 ansible]# ansible-playbook -i hosts test.ymlPLAY [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


http://www.ppmy.cn/news/1442722.html

相关文章

Qt和C/C++开发-常见面试笔试题

通常Qt开发岗位面试笔试题,有两部分c/c和Qt 一、c/c 一、看博客从第一遍到第七篇https://blog.csdn.net/weixin_53000184/article/details/124760602 二、static作用1、静态变量声明局部静态变量:在静态存储区,局部有效,直到程序…

低代码开发之腾讯云微搭工具

低代码开发之腾讯云微搭工具 微搭简介诞生缘由开发模式如何创建组件模块介绍实例讲解url传参级联联动使用事件其他方法调用数据源方法 callDataSource触发流程 callProcess 引入外部css/js代码编辑器的使用Handler 方法使用介绍Style 用法示例LifeCycle 生命周期介绍 数据模型方…

verilog 语法及特点

主线上的硬件描述语言有verilog 和 VHDL 两门, 由于 verilog 语法上比VHDL 语言灵活, 所以现在社区以 verilog 语言开发的项目占比更大。 但是相较于 现在流行的 java/python 计算机语言比起来, 其模块化管理要差很多, 所以现在社…

Java基础知识总结(77)

* 2、JMM模型 JMM(Java Memory Model):Java 内存模型,是 Java 虚拟机规范中所定义的一种内存模型,Java 内存模型是标准化的,屏蔽掉了底层不同计算机的区别。也就是说,JMM 是 JVM 中定义的一种并…

(五)小案例银行家应用程序-实现转账

现在我们想实现用户之间相互转账的功能; ● 和之前一样我们还是要通过这个点击,页面元素一再写在变量里面了 在这里插入图片描述 btnTransfer.addEventListener(click, function (e) {e.preventDefault();const amount Number(inputTransferAmount.val…

python_django农产品物流信息服务系统6m344

Python 中存在众多的 Web 开发框架:Flask、Django、Tornado、Webpy、Web2py、Bottle、Pyramid、Zope2 等。近几年较为流行的,大概也就是 Flask 和 Django 了 Flask 是一个轻量级的 Web 框架,使用 Python 语言编写,较其他同类型框…

民航电子数据库:报错merge sql error, dbType null, druid-1.1.9, sql : xxx

目录 一、场景二、SQL三、报错信息四、排查五、原因六、解决 一、场景 1、对接民航电子数据库 2、limit查询时报错 二、SQL SELECT openid,headimgurl,nickname FROM t_mb_weixinuser WHERE openid? AND vdnId ? LIMIT 1三、报错信息 merge sql error, dbType null, dru…

iOS - Runloop在实际开发中的应用

文章目录 iOS - Runloop在实际开发中的应用1. 控制线程生命周期(线程保活)2. 解决NSTimer在滑动时停止工作的问题2.1. 案例2.2 解决 3. 监控应用卡顿4. 性能优化 iOS - Runloop在实际开发中的应用 1. 控制线程生命周期(线程保活)…