什么是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等。文章来源:https://www.toymoban.com/news/detail-643057.html
安装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 | 角色 |
ansible | 192.168.100.10 | 控制节点 |
ansible1 | 192.168.100.11 | 被控节点 |
ansible2 | 192.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"}
文章来源地址https://www.toymoban.com/news/detail-643057.html
执行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
到了这里,关于红帽8.5 ansible 安装和部署 |(简单版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!