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

红帽8.5 ansible 安装和部署 |(简单版)


什么是ansible 

        Ansible是一款基于OpenSSH开源的自动化运维工具,可以用它来配置系统、部署软件和编排更高级的 IT 任务,并且使用具有极高的安全性,ansible是当前市面上主流的自动化运维工具之一

为什么使用ansible

        比较直观的说,当你管理10台服务器安装系统的时候,没有使用ansible的情况下,需要的是重复在每台主机上执行相同的操作,也许10台主机还好,但是当我们管理100台甚至1000台呢,这时候自动化工具就诞生了(Puppet、Saltstack,Ansible)ansible能够使我们批量的部署和初始化受控,并且保证了受控主机的一致性 减少了成本和人工,提升了运维工作人员的效率。

Ansible有以下几个主要的优点:

1. 简单易用:Ansible使用简单的YAML语法进行配置,不需要编写复杂的代码,易于使用和学习。

2. 无需客户端:Ansible不需要在目标主机上安装客户端,只需要在控制节点上运行,通过SSH和Python进行通信。

3. 基于模块化:Ansible使用模块进行工作,可以通过编写自定义模块扩展其功能,也可以利用已有的众多模块来完成各种任务。

4. 可扩展性:Ansible可以轻松扩展到成千上万台主机,并支持并行执行任务,以快速高效地管理大规模的基础设施。

5. 多平台支持:Ansible可以在不同的操作系统平台上工作,包括Linux、UNIX、Windows等。

安装ansible

配置yum仓库: vim  /etc/yun.repo.d/aliyun.repo(阿里云镜像仓库)

[AppStream]
name=App
baseurl=https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os
gpgcheck=0[BaseOS]
name=base
baseurl=https://mirrors.aliyun.com/centos/8-stream/BaseOS/x86_64/os
gpgcheck=0

配置扩展源

yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

以上步骤完成后:执行以下步骤

yum clean all
yum repolist 
yum makecache

 此时我们就可以使用yum  安装ansible了

yum install ansible -y

安装完成后  使用以下命令检查: 显示版本信息 就欧克了

 ansible --version

部署

在这里我们用到三台虚拟机

主机名ip角色
ansible192.168.100.10控制节点
ansible1192.168.100.11被控节点
ansible2192.168.100.12被控节点

 首先使用在控制节点的主机上生成密钥对  将公钥发送给被控节点 实现免密登录

ssh-keygen //在控制节点上生成密钥对ssh-copy-id -i ansible1    //将控制节点的共钥发送给 被控节点
ssh-copy-id -i ansible2//在被控节点上查看控制节点的公钥是否发送过来
vim /root/.ssh/authorized_keys    //查看文件ssh ansible1            //尝试登录   域名解析可以在 /etc/hosts 文件下编辑
ssh ansible2              //也可以使用ip登录   ssh 192.168.100.12

 当上述步骤完成后  我们就可以在控制主机上编辑ansible 主机的清单文件了 

vim /etc/ansible/hosts ansible1
ansible2

测试显示结果

[root@ansible ~]# ansible all -m ping -o
ansible1 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/libexec/platform-python"},"changed": false,"ping": "pong"}
ansible2 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/libexec/platform-python"},"changed": false,"ping": "pong"}

 执行ansible剧本时,当我们没有在控制主机的配置文件中指定角色时,ansible剧本自动指定当前登录用户,当我们使用普通用户时 执行yml文件在受控主机上权限有限   这时我们就需要在受控主机上提权,提权的方法有以下两种。

第一种方法  将ansible用户提权和root用户一样   编辑 /etc/sudoers 文件

## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL
ansible ALL=(ALL)       NOPASSWD: ALL

第二种方法: 将wheel组不需要密码验证  并且将用户ansible 加入wheel组

第一步:编辑/etc/sudoers文件
%wheel  ALL=(ALL)       NOPASSWD:ALL
第二步:将用户加入wheel组
[root@ansible2 ~]# gpasswd -a ansible wheel 

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

相关文章:

  • Visual Studio 2019 c++ 自定义注释 ----doxygen
  • 面试题. 零矩阵
  • 易语言下载器
  • 原生js获取今天、昨天、近7天的时间(年月日时分秒)
  • 最强自动化测试框架Playwright(29)-文件选择对象
  • 【烂尾】K8S部署
  • 电机故障诊断(python程序,模型为MSCNN结合LSTM结合注意力机制模型,有注释)
  • 二叉树(ACM版)
  • Scratch 之 如何制作鼠标框(2)—— 鼠标框框定角色
  • 爬虫逆向实战(九)--猿人学第十三题
  • NeuralNLP-NeuralClassifier的使用记录(一),训练预测自己的【英文文本多分类】
  • Pycharm社区版连接WSL2中的Mysql8.*
  • 前端传递参数时,form-data 和 json 的区别
  • FairyGUI-Unity侧菜单扩展
  • 学习笔记十八:污点、容忍度
  • amis百度前端框架,在js中使用amis写json转页面
  • openEuler安装jdk、openEuler离线安装jdk、openEuler设置jdk、openEuler在线安装
  • Photoshop制作漂亮光泽感3D按钮
  • 【网络爬虫】模拟登录与代理
  • 无线局域网基础知识与架构
  • uniapp tabbar 浏览器调试显示 真机不显示
  • 极智AI | 地平线BPU跑通YOLOv5
  • 循环服务器(同时连接多个客户端,为每个客户端创建一个子进程处理其消息)
  • 【从零学习python 】38.Python包的使用及导入方式
  • docker 容器满了常用处理方法
  • 28、springboot的静态模版(前端页面)重加载和 devtools开发者工具
  • [FPGA IP系列] FPGA常用存储资源大全(RAM、ROM、CAM、SRAM、DRAM、FLASH)
  • Spark SQL优化:NOT IN子查询优化解决
  • 代码审计-java项目-组件漏洞审计
  • 接口测试的测试用例该怎么写呢