当前位置: 首页 > news >正文

Ansible的安装及部署

目录

一、Ansible对于企业运维的重大意义

二、Ansible的安装

三、构建Ansible清单

1.直接书写受管主机名或ip,每行一个

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

四、Ansible配置文件参数详解

1、配置文件的分类与优先级

2.配置新用户的Ansible配置

3.生成免密认证


本章内容练习准备:

准备三台虚拟机

虚拟机一:能连接外网,配置好本地源和epel源

虚拟机二、三:能和虚拟机一进行通信

一、Ansible对于企业运维的重大意义

Ansible 是新出现的自动化运维工具,Ansible完全基于Python开发,主要适用于一台主机同时控制多台主机,实现了批量系统配置、批量程序部署、批量运行命令等功能。需要注意的是ansible是基于模块工作的,本身没有批量部署的功能,真正具有批量部署的是ansible所运行的模块。

二、Ansible的安装

配置好epel源后 执行代码:dnf install ansible -y

安装完成后 运行 ansible --viersion
ansible的基本信息
/etc/ansible/ansible.conf       全局配置文件,默认很少修改
/etc/ansible/hosts                  全局主机清单清单文件

三、构建Ansible清单

清单就是ansible控制主机的列表
/etc/ansible/hosts         全局清单文件

 如果我们用shell写,查询两台主机的主机名

中间需要多次确认和输入密码

使用Ansible 在hosts

1.直接书写受管主机名或ip每行一个

westosa.westos.org
westosb.westos.org
192.168.31.10

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

清单查看
ansible 清单中组名称 [-i 清单文件] --list-hosts
ansible ungrouped --list-hosts
ansible all --list-hosts
单层清单
[list1]
node1.westos.com
node2.westos.com
[list2]
node2.westos.com
[list3]
172.25.254.240

嵌套清单
[westos:children]
list1
list3

 

主机规格的范围化操作
通过指定主机名称或IP的范围可以简化Ansible主机清单
语法
[start:end]
[westostest]
172.25.254.[100:108]

 

ansible命令指定清单的正则表达式
*
所有
172.25.254.*
westos*
逻辑或
westos1:linux
172.25.254.100:172.25.254.200
&
逻辑与
westos1:&linux
主机即在westos1清单也在linux清单中
:!
逻辑非
westos1:!linux
在westos1中不在linux中
~
以关键字开头
~(str1|str2)
以条件1或者条件2开头

四、Ansible配置文件参数详解

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

1、配置文件的分类与优先级

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

2.配置新用户的Ansible配置

[devops@westos_student50 .ansible]$ cp /etc/ansible/ansible.cfg  .

 

 

3.生成免密认证

[devops@westos_student50 .ansible]$ ssh-keygen 

 在当前用户生成一个密钥

锁主控机

建立被控主机存放key位置的目录

[devops@westos_student50 .ansible]$ ansible all -m shell -a 'mkdir /home/devops/.ssh' 

复制当前主机中的key

先找到key的文件名称

ansible all -m copy -a 'src=~/.ssh/id_rsa.pub dest=/home/devops/.ssh/authorized_keys mode=600 owner=devops group=devops'

给devops普通用户权限

[devops@westos_student50 .ansible]$ ansible all -m shell -a 'echo "devops ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers' -uroot -k

 

 修改配置文件

再控制远程主机时  将会方便快捷很多

http://www.lryc.cn/news/6010.html

相关文章:

  • 链表题目总结 -- 递归
  • 重写-linux内存管理-伙伴分配器(一)
  • 为什么要用springboot进行开发呢?
  • 设备树信息解析相关函数
  • LeetCode-1124. 表现良好的最长时间段【哈希表,前缀和,单调栈】
  • vue-router路由配置
  • 中国计算机设计大赛来啦!用飞桨驱动智慧救援机器狗
  • 嘉定区2022年高新技术企业认定资助申报指南
  • 【C++】关键字、命名空间、输入和输出、缺省参数、函数重载
  • 【一道面试题】关于HashMap的一系列问题
  • 论文笔记: Monocular Depth Estimation: a Review of the 2022 State of the Art
  • Springmvc补充配置
  • MySQL 的 datetime等日期和时间处理SQL函数及格式化显示
  • 基于微信云开发的防诈反诈宣传教育答题小程序
  • Map和Set
  • 【位运算问题】Leetcode 136、137、260问题详解及代码实现
  • 同花顺2023届春招内推
  • 深入Kafka核心设计与实践原理读书笔记第三章消费者
  • IDEA 中使用 Git 图文教程详解
  • 【Linux系统】进程概念
  • 上课睡觉(2023寒假每日一题 4)
  • 【Selenium学习】Selenium 中常用的基本方法
  • python练习——简化路径
  • 2023新华为OD机试题 - 火星文计算2(JavaScript) | 刷完必过
  • 前端插件重磅来袭
  • 深入工厂|高精密多层板是如何被智造出来的?
  • 代理模式动态代理
  • Mysql之二进制日志
  • kail工具的使用--- cewl
  • 【蓝桥杯集训1】前缀和专题(2 / 5)