Ansible从入门到精通【三】

news/2024/11/20 13:17:52/

大家好,我是早九晚十二,目前是做运维相关的工作。写博客是为了积累,希望大家一起进步!
我的主页:早九晚十二
专栏名称:Ansible从入门到精通 立志成为ansible大佬

♣ansible的高级指令

    • ansible-playbook
      • 写一个简单的剧本
    • ansible-vault
      • 加密剧本
      • 解密剧本
      • 查看剧本
      • 编辑剧本
      • 修改口令
      • 创建新文件
    • ansible-console
      • console操作
      • 修改目标主机时间

请添加图片描述

ansible-playbook

palybook 是由一个或多个paly组成的列表。play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible 中的 task 定义好的角色。从根本上来讲,所谓 task 无非是调用 ansible 的一个 module。将多个 play组织在一个 playbook 中,即可以让它们联同起来按事先编排好的机制同唱一台大戏。

一个playbook由以下几个部分组成:

Inventory
Modules
Ad Hoc Commands
Playbookstasks:即调用模块完成的操作variables:变量templates:模板handlers:触发器,由某子任务触发执行操作roles:角色

写一个简单的剧本

---  #固定格式,可以不写
- hosts: test #表示你要操作的主机组,注意空格remote_user: root #以root身份远程操作tasks:- name: test  #说明command: hostname #要执行的命令

执行:

[root@master ansible]# vim test.yml 
[root@master ansible]# ansible-playbook test.yml PLAY [test] ***************************************************************************************************************************************************************TASK [Gathering Facts] ****************************************************************************************************************************************************
ok: [192.168.1.1]TASK [test] ***************************************************************************************************************************************************************
changed: [192.168.1.1]PLAY RECAP ****************************************************************************************************************************************************************
139.9.198.12               : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

ansible-vault

加密重要信息

加密剧本

需重复输入两次密码

[root@master ansible]# ansible-vault encrypt test.yml 
New Vault password: 
Confirm New Vault password: 
Encryption successful

查看剧本时,也必须使用ansible-vault指令,否则看到的是加密内容,如

[root@master ansible]# cat test.yml
$ANSIBLE_VAULT;1.1;AES256
61373337616563376334636235306530356635343530653862376533636331333161313661643430
3532313561363438386233646366643266323365633632330a393433383866306631643461653233
33616333316664383463353638373131363431373630666161363335623664653136643264323565
6630373939336262390a316562626665336534353466656133613133373262646662393764373965
61326161336335616364373034383133623763313465633136623861353536643438343537626232
31646161633932346466653663616330633438343637613231643234316530386435633231356332
34326639383934613062373463356632353866623165306230343833623863313634323932623763
37326434616332643931653939666361626537346566666633633536336537336231626237376134
3239

解密剧本

[root@master ansible]# ansible-vault decrypt test.yml 
Vault password: 
Decryption successful
[root@master ansible]# cat test.yml
---
- hosts: testremote_user: roottasks:- name: testcommand: hostname

查看剧本

[root@master ansible]# ansible-vault view  test.yml 
Vault password: 
---
- hosts: testremote_user: roottasks:- name: testcommand: hostname

编辑剧本

[root@master ansible]# ansible-vault edit   test.yml 
Vault password: ---
- hosts: testremote_user: roottasks:- name: testcommand: hostname
~                                 

修改口令

需先输入旧密码在输入两次新密码

[root@master ansible]# ansible-vault rekey test.yml 
Vault password: 
New Vault password: 
Confirm New Vault password: 
Rekey successful

创建新文件

[root@master ansible]# ansible-vault create test2.yml 
New Vault password: 
Confirm New Vault password:

ansible-console

交互式工具在这里插入图片描述

含义:root:执行用户all: 主机清单(1):代表主机个数[f:5]: fork=5 5并发请求

修改为10个并发

root@all (1)[f:5]$ forks 10
root@all (1)[f:10]$ 

输入 或者help 可以查看提示,即模块名

console操作

执行查看日期命令

root@all (1)[f:5]$ command date
139.9.198.12 | CHANGED | rc=0 >>
Mon May 29 17:39:09 CST 2023

修改目标主机时间

如果主机有多个,修改某个主机信息,需使用cd切换

root@all (1)[f:5]$ cd 192.168.1.1
root@139.9.198.12 (1)[f:5]$ date -s "2023-05-29 17:40:00"

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

相关文章

【面试】为什么Mysql用B+树做索引而不用B-树或红黑树

文章目录 前言一、B树只有叶节点存放数据,其余节点用来索引,而B-树是每个索引节点都会有Data域。二、那么Mysql如何衡量查询效率呢?三、B树相对于红黑树的区别 前言 原因如下: B树能显著减少IO次数,提高效率B树的查询…

Docker安装SQL Studio

前言 当前镜像是基于SQL Studio官网linux版本的安装包构建而成,镜像的tag和官方安装包的版本是对应的,例如:v1.6.0对应官方linux安装包的v1.6.0版本,目前只有v1.6.0版本的镜像。附上官网安装包下载地址 镜像说明 暴露端口 # 容…

1.Linux初识

在 Linux 系统中,sudo 是一个重要的命令,可以允许普通用户以管理员权限来运行特定的命令。通过 sudo 命令,普通用户可以暂时获取管理员权限,执行需要管理员身份才能执行的操作。 下面是一些关于 sudo 命令的用法: 以管…

Consul

1 下载 官网:https://releases.hashicorp.com/consul 根据自己情况选择自己所需的安装包下载即可。 2 安装 2.1 linux安装consul服务 ## 从官网下载最新版本的Consul服务 wget https://releases.hashicorp.com/consul/1.15.2/consul_1.15.2_linux_amd64.zip ##…

【SQL】PostgreSQL语句

最近使用PostgreSQL做了不少数据处理的工作,现将学习到的SQL语句整理一下。 创建数据库 CREATE DATABASE table_name; 创建表格 CREATE table_name IF NOT EXISTS {} (time timestamp, data int) 插入数据 insert into table_name values(%s, %s); 选择数据 …

AbandonedConnectionCleanupThread$ConnectionFinalizerPhantomReference内存溢出

网上查了查资料,根据自己情况在这里整理了一下,供大家学习和参考。 目录 1、现象 2、mysql-connector-java 源码分析 3、解决方法 3.1、配置disableAbandonedConnectionCleanup 3.2、暴力解决方式-----定时GC 4、什么是虚引用 5、关联对象真的被回…

dolphinscheduler3.1.7windows部署启动说明

简介 Apache DolphinScheduler是一个新一代分布式大数据工作流任务调度平台,致力于“解决大数据任务之间错综复杂的依赖关系,整个数据处理开箱即用”。它以 DAG(有向无环图) 的方式将任务连接起来,可实时监控任务的运行状态,同时…

二进制安装docker

二进制安装docker文档 建模部署 docker安装 下载docker 因rpm包安装依赖较多,选择二进制安装,下载地址如下 https://download.docker.com/linux/static/stable/x86_64/ 创建docker组 groupadd docker如果没有docker组,启动docker将会报…