Ansible工具的初步使用

ops/2024/9/23 3:48:29/

目录

概述

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/ops/18065.html

相关文章

了解时间复杂度和空间复杂度

在学习数据结构前,我们需要了解时间复杂度和空间复杂度的概念,这能够帮助我们了解数据结构。 算法效率分为时间效率和空间效率 时间复杂度 一个算法的复杂度与其执行的次数成正比。算法中执行基础操作的次数,为算法的时间复杂度。 我们采…

Open CASCADE学习|一个点的坐标变换

gp_Trsf 类是 Open CASCADE Technology (OCCT) 软件库中的一个核心类,用于表示和操作三维空间中的变换。以下是该类的一些关键成员和方法的介绍: 成员变量: scale: Standard_Real 类型,表示变换的缩放因子。 shape: gp_TrsfFor…

LRU缓存(哈希+双链表)

题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,…

SpanBert学习

SpanBERT: Improving Pre-training by Representing and Predicting Spans 核心点 提出了更好的 Span Mask 方案,也再次展示了随机遮盖连续一段字要比随机遮盖掉分散字好;通过加入 Span Boundary Objective (SBO) 训练目标,增强了 BERT 的性…

一键设置个性手机壁纸:苹果手机怎么设置动态壁纸?

在苹果手机上设置动态壁纸是一种让你的手机屏幕更生动、更有趣的方式。无论是流动的水滴、绚丽的光影还是动态的星空,动态壁纸可以为你的手机带来全新的视觉体验。苹果手机怎么设置动态壁纸?在本文中,我们将介绍苹果手机上如何设置动态壁纸的…

知识图谱:知识的表示方法

知识表示指的是存储在知识图谱中的数据使用何种语言或者何种数据结构进行描述,从而能够使得知识图谱中的知识运算更加快捷高效。知识表示的方式主要可分为三种,一种是以三元组的形式对知识进行表示,一种是以图结构的形式对知识进行表示&#…

streampetr原版网络nuscenes数据pkl文件中的各字段含义

streampetr原版网络nuscenes数据pkl文件中的各字段含义 每帧数据都包含下列的信息 "token": 该帧数据的标识,具有唯一性 "prev": 该帧数据上一帧数据的token,如果没有就为"" "next": 该帧数据下一帧数据的toke…

通过前端js获取指定年周的开始时间与结束时间(以周一为开始时间)

入参格式:年-周 //截取:具体看入参格式 let year2024; let week2; let weekStartDatenew Date(); let weekEndDatenew Date(); // 创建一个Date对象,设置为指定年份的第一周的周日 let date new Date(year, 0, 1); // 年份, 月份(0…