Ansible的安装和部署

news2024/11/16 15:39:29

目录

1.Ansible的安装

2.构建Ansible清单 

直接书写受管主机名或ip

设定受管主机的组[组名称]

主机规格的范围化操作

指定其他清单文件

ansible命令指定清单的正则表达式

3.Ansible配置文件参数详解

配置文件的分类与优先级

常用配置参数

4.构建用户级Ansible操作环境


环境配置

主控机    ansible1    192.168.81.10
受控机    ansible2    192.168.81.11
               ansible3    192.168.81.12

1.Ansible的安装

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
yum install ansible -y

ansible的基本信息

/etc/ansible/ansible.conf        //全局配置文件,默认很少修改
/etc/ansible/hosts            //全局主机清单清单文件

2.构建Ansible清单 

清单就是 ansible 控制主机的列表

直接书写受管主机名或ip

每行一个

设定受管主机的组[组名称]

清单查看
ansible 清单中组名称 [-i 清单文件] --list-hosts
ansible ungrouped --list-hosts        //列出在Ansible inventory文件中未分组的所有主机
ansible all --list-hosts

单层清单

嵌套清单

主机规格的范围化操作

通过指定主机名称或 IP 的范围可以简化 Ansible 主机清单

指定其他清单文件

如上

ansible命令指定清单的正则表达式

*                       //所有
                        //192.168.81.*
                        //westos*

:                       //逻辑或
                        //westos1:linux
                        //#172.25.254.100:172.25.254.200

:&                      //逻辑与
                        //westos1:&linux
                        //主机即在westos1清单也在linux清单中

:!                      //逻辑非
                        //westos1:!linux
                        //在westos1中不在linux中

~                       //以关键字开头

~(str1|str2)            //以条件1或者条件2开头

3.Ansible配置文件参数详解

ansible 清单中组名称 -m 模块 -u remote_user

配置文件的分类与优先级

/etc/ansible/ansible.cfg
基本配置文件 找不到其他配置文件此文件生效
~/.ansible.cfg
用户当前目录中没有 ansible.cfg 此文件生效
./ansible.cfg
优先级最高

常用配置参数

[default]
基本信息设定
inventory=
指定清单路径
remote_user=
在受管主机上登陆的用户名称 未指定使用当前用户
ask_pass=
是否提示输入 SSH 密码 如果公钥登陆设定为 false
library=
库文件存放目录
local_tmp=
本机临时命令执行目录
remote_tmp=
远程主机临时 py 命令文件存放目录
forks=
默认并发数量
host_key_checking=
第一次连接受管主机时是否要输入yes建立host_key
sudo_user=
默认 sudo 用户
ask_sudo_pass=
每次在受控主机执行 ansible 命令时是否询问 sudo 密码
module_name=
默认模块 默认使用 command 可以修改为 shell
log_path=
日志文件路径
[privilege_escalation]
身份信息设定
become=
连接后是否自动切换用户
become_method=
设定切换用户的方式 通常用 sudo
become_user=
在受管主机中切换到的用户 通常为 root
become_ask_pass
是否需要为 become_method 提示输入密码 默认为 false

4.构建用户级Ansible操作环境

cp id_rsa.pub authorized_keys //复制公钥

创建目录

ansible all -m file -a 'path=/root/.ssh state=directory owner=root group=root mode=0700' -k

复制公钥

ansible all -m copy -a 'dest=/root/.ssh/authorized_keys src=/rt/.ssh/authorized_keys owner=root group=root mode=0600' -k

测试

创建用户,修改密码,向所有的目标主机添加一个sudoer,让用户devops拥有root权限而不需要输入密码

ansible all -m shell -a 'useradd devops'
ansible all -m shell -a 'echo shg12345 | passwd --stdin devops'
ansible all -m shell -a 'echo "devops ALL=(ALL) NOPASSWD: ALL >> /etc/sudoers "'

向devops复制公钥

ansible all -m copy -a 'src=/root/.ssh/authorized_keys dest=/home/devops/.ssh owner=devops group=devops mode=0600'

修改权限

ansible all -m file -a 'path=/root/.ssh owner=devops group=devs mode=0700'

目录

ansible all -m file -a 'path=/home/devops/.ssh state=directory owner=devops group=devops mode=0700' -k

ansible all -m copy -a 'src=/root/.ssh/authorized_keys dest=/home/devops/.ssh owner=devops group=devops mode=0600' -k

su - devpos
cp /root/ansible/ansible.cfg /home/devpos/.ansible

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1151063.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

女神联盟2攻略,女神联盟2-GM红将全免

女神联盟2攻略:前期过渡阵容建议: 在女神联盟2-GM红将全免的初期玩法中,资源的获取是有限的,因此玩家需要合理运用搭配,避免浪费。同时在有限的资源中与敌人竞争资源需要进行头脑对决。首先,游戏中的硬通货…

Linux学习第27天:Platform设备驱动开发: 专注与分散

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 专注与分散是我在题目中着重说明的一个内容。这是今天我们要学习分离与分层概念的延伸。专注是说我们要专注某层驱动的开发,而对于其他层则是芯片厂商…

【QT】鼠标常用事件

新建项目 加标签控件 当鼠标进去,显示【鼠标进入】,离开时显示【鼠标离开】 将QLable提升成自己的控件,然后再去捕获 添加文件 改继承的类名 提升类 同一个父类,可以提升 效果 现在代码就和Qlabel对应起来了。 在.h中声明&…

1992-2021年全国各地级市经过矫正的夜间灯光数据(GNLD、VIIRS)

1992-2021年全国各地级市经过矫正的夜间灯光数据(GNLD、VIIRS) 1、时间:1992-2021年3月,其中1992-2013年为年度数据,2013-2021年3月为月度数据 2、来源:DMSP、VIIRS 3、范围:分区域汇总&…

短期经济波动:均衡国民收入决定理论(一

宏观经济学讲义 10 短期经济波动:均衡国民收入决定理论(一) 文章目录 10 短期经济波动:均衡国民收入决定理论(一)[toc]1 均衡国民收入决定1.1 均衡国民收入决定的不同理论1.2 两部门经济:有效需求原理和框架1.2.1 模型假设1.2.2 模型推导1.2…

正点原子嵌入式linux驱动开发——Linux 音频驱动

音频是最常用到的功能,音频也是linux和安卓的重点应用场合。STM32MP1带有SAI接口,正点原子的STM32MP1开发板通过此接口外接了一个CS42L51音频DAC芯片,本章就来学习一下如何使能CS42L51驱动,并且CS42L51通过芯片来完成音乐播放与录…

java八股文(基础篇)

面向过程和面向对象的区别 面向过程:在解决问题时,特别自定义函数编写一步一步的步骤解决问题。 面向对象:其特点就是 继承,多态,继承,在解决问题时,不再注重函数的编写,而在于注重…

EPLAN_012#自定义导航器

关键字:设备导航器、端子排导航器、电缆导航器、设备列表导航器,树形结构(导航器) 正常情况下,eplan中的设备导航器是这个模样 如何在导航器中显示更多内容或者进行规划。(比如下图中,可以显示其…

买车软件有哪些,买车软件哪个好

买车软件是指为购买汽车提供便利的手机应用程序,可以帮助消费者找到心仪的汽车型号、比较不同车型的价格、了解车辆的详细参数和配置、预约试驾、办理贷款、购车保险等一系列服务。 买车软件可以让用户更加便捷地了解汽车信息、比较不同车型的价格和配置、预约试驾…

【STL】:vector的模拟实现

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关vector的模拟实现,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数…

qt 系列(一)---qt designer设计常用操作

最近转战qt, 主要用qt designer 进行GUI开发,记录下实战经验~ 1.前言 qt 是跨平台C图形用户界面应用程序开发框架,可以使用的IDE工具有 qt creator 和 vs, 这里我主要使用 Visual Studio 2017 工具进行程序开发与编写。 2. 环境配置 只写关键步骤~~ …

Java 谈谈你对OOM的认识

文章目录 前言一、基础架构二、常见OOM1、栈内存溢出java.lang.StackOverflowError2、堆内存溢出java.lang.OutOfMemoryError:Java heap space3、GC回收时间过长java.lang.OutOfMemoryError: GC overhead limit exceeded4、NIO程序堆外内存溢出java.lang.OutOfMemor…

MySQL使用存储过程迁移用户表数据,过滤用户名相同名称不同的用户

存储过程简介 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。它是一段预编译的SQL…

openGauss学习笔记-110 openGauss 数据库管理-管理用户及权限-Schema

文章目录 openGauss学习笔记-110 openGauss 数据库管理-管理用户及权限-Schema110.1 创建、修改和删除Schema110.2 搜索路径 openGauss学习笔记-110 openGauss 数据库管理-管理用户及权限-Schema Schema又称作模式。通过管理Schema,允许多个用户使用同一数据库而不…

为什么 ConcurrentHashMap 中 key 不允许为 null

ConcurrentHashMap 在ConcurrentHashMap 的源码,在 put 方法里面,可以看到这样一段代码,如果 key 或者 value 为空,则抛出空指针异常。 但是为什么 ConcurrentHashMap 不允许 key 或者 value 为空呢? 原因 简单来说&…

macOS M1安装wxPython报错‘tiff.h‘ file not found的解决方法

macOS12.6.6 M1安装wxPython失败: 报错如下: imagtiff.cpp:37:14: fatal error: tiff.h file not found解决办法: 下载源文件重新编译(很快,5分钟全部搞定),分三步走: 第一步&…

Reading:Deep dive into the OnPush change detection strategy in Angular

原文连接:IndepthApp 今天深入阅读并总结Angualr中onPush更新策略。 1. 两种策略 & whats Lview? Angular 实现了两种策略来控制各个组件级别的更改检测行为。这些策略定义为Default和OnPush: 被定义为枚举: export enum…

IOC课程整理-3 Spring IoC 容器概述

1 Spring IoC依赖查找 延迟依赖查找主要用于获取 BeanFactory 后,不马上获取相关的 Bean,比如在 BeanFactoryPostProcessor 接口中获取 ConfigurableListableBeanFactory 时,不马上获取,降低 Bean 过早初始化的情况 2 Spring IoC…

redis缓存击穿,redisson分布式锁,redis逻辑过期

什么是缓存击穿: 缓存击穿是指在高并发环境下,某个热点数据的缓存过期,导致大量请求同时访问后端存储系统,引起系统性能下降和后端存储压力过大的现象。 解决方案: 1. redisson分布式锁 本质上是缓存重建的过程中&…

echarts的legend图例,要给图例中的不同文字设置不同颜色

可以用rich,先创建样式a,然后在formatter中用{a|文字}的形式使用,就能将文字使用a样式了