RHEL8_Linux下载ansible

本章内容主要介绍RHEL8中如何安装ansible 

  • ansible时如何工作的
  • 在RHEL8中安装ansible

1.ansible工作原理        

        如果管理的服务器很多,如几十台甚至几百台,那么就需要一个自动化管理工具了,ansible就是这样的一种自动化管理工具。
1)ansible是通过ssh连接到被管理主机,然后执行相关操作的,如图

        ansible主机通过ssh连接到被管理主机时,需要提前设置密钥登录,使得从ansible主机
可以无密码登录到被管理主机。

2.安装ansible

在nonde01上安装ansible步骤如下:
1)先安装系统的开发工具
[root@node01 ~]# yum -y groupinstall 开发工具
2) 挂载镜像
[root@node01 ~]# mount /dev/cdrom /mnt/
mount: /mnt: /dev/sr0 already mounted on /var/ftp/dvd.
[root@node01 ~]# 
3)配置本地yum源
[root@node01 ~]# cat /etc/yum.repos.d/aa.repo 
[aa]
name=aa
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0

[bb]
name=bb
baseurl=///mnt/BaseOS
enabled=1
gpgcheck=0
[root@node01 ~]# 
4)先使用root用户登录server,在其上配置epel源,命令如下
[root@node01 ~]# yum -y install https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
[root@node01 ~]#  sed -i 's|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
[root@node01 ~]#  sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
RHEL8默认的Python版本为3.6,不符合项目的需求。现在升级到3.12.1
5)下载Python3.12.1
[root@node01 ~]# wget https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tgz
[root@node01 ~]# tar -zxvf Python-3.12.1.tgz 
6)安装必须的包
[root@node01 ~]# dnf -y install gcc zlib* libffi-devel
7)安装Python
[root@node01 Python-3.12.1]# cd Python-3.12.1/
[root@node01 Python-3.12.1]# ./configure --prefix=/usr/local/python3 --enable-optimizations
[root@node01 Python-3.12.1]# make
[root@node01 Python-3.12.1]# make install
8)删除远程的Python3和pip3
[root@node01 Python-3.12.1]# rm -rf /usr/bin/python3
[root@node01 Python-3.12.1]# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
[root@node01 Python-3.12.1]# rm -rf /usr/bin/pip3
[root@node01 Python-3.12.1]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
9)查看Python3和Pip3是否正确的被安装
[root@node01 ~]# python3 --version
Python 3.12.1
[root@node01 ~]# pip3 --version
pip 23.2.1 from /usr/local/python3/lib/python3.12/site-packages/pip (python 3.12)
[root@node01 ~]# 

3.正式安装ansible

[root@node01 ~]# rpm -ivh ansible-2.9.11-1.el8ae.noarch.rpm 
错误:依赖检测失败:
	python3-cryptography 被 ansible-2.9.11-1.el8ae.noarch 需要
	python3-jinja2 被 ansible-2.9.11-1.el8ae.noarch 需要
	sshpass 被 ansible-2.9.11-1.el8ae.noarch 需要
[root@node01 ~]# 

错误:依赖检测失败:
    python3-cryptography 被 ansible-2.9.11-1.el8ae.noarch 需要
    python3-jinja2 被 ansible-2.9.11-1.el8ae.noarch 需要
    sshpass 被 ansible-2.9.11-1.el8ae.noarch 需要
需要解决依赖包问题前面两个使用本地yum源就可以解决了

1)安装依赖
[root@node01 ~]# yum -y install python3-cryptography
[root@node01 ~]# yum -y install python3-jinja2
[root@node01 ~]# rpm -ivh sshpass-1.06-3.el8ae.x86_64.rpm 
2)再次安装ansible
[root@node01 ~]# rpm -ivh ansible-2.9.11-1.el8ae.noarch.rpm 
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...
   1:ansible-2.9.11-1.el8ae           ################################# [100%]
[root@node01 ~]# 
3)使用命令检查ansible的安装结果
[root@node01 ~]# ansible --version
ansible 2.9.11
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.6/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.6.8 (default, Sep  9 2021, 07:49:02) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3)]
[root@node01 ~]# pip3 --version
pip 23.2.1 from /usr/local/python3/lib/python3.12/site-packages/pip (python 3.12)
[root@node01 ~]# 
        这里安装的ansible的版本是2.9.27,同时也显示ansible的默认配置是letc/ansible/ansible.cfgo还要确保ansible主机能够解析所有的被管理机器,这里通过配置/etc/hosts 来实现,l/etchosts的内容如下。
[root@node01 ~]# cat /etc/hosts | grep node
192.168.182.220  node02
192.168.182.210  node03
[root@node01 ~]# 
在node02和 node03两台机器上确认已经创建好了blab 用户,如果没有请自行创建,然
后配置好sudo,命令如下。
[root@node02 ~]# cat /etc/sudoers.d/blab 
blab ALL=(root) NOPASSWD: ALL
[root@node02 ~]# 
[root@node01 ~]# cat /etc/sudoers.d/blab 
blab ALL=(root) NOPASSWD: ALL
[root@node01 ~]# 

这样在这两台机器上,blab 用户通过sudo-i可以无密码切换到root用户。
使用blab 用户登录server,配置好ssh密钥登录,使得blab 用户可以无密码登录到
server2和 server3,命令如下
[root@node02 ~]# ssh 192.168.182.200
Activate the web console with: systemctl enable --now cockpit.socket

This system is not registered to Red Hat Insights. See https://cloud.redhat.com/
To register this system, run: insights-client --register

Last login: Thu Dec 14 08:23:08 2023 from 192.168.182.1
[root@node01 ~]# exit
注销
Connection to 192.168.182.200 closed.
[root@node02 ~]# 

相关推荐

  1. RHCL8_Linux_ansible的使用

    2023-12-18 11:10:02       38 阅读
  2. RHEL8ansible的使用

    2023-12-18 11:10:02       42 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-18 11:10:02       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-18 11:10:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-18 11:10:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-18 11:10:02       18 阅读

热门阅读

  1. Android Studio导出Excel的一些感悟

    2023-12-18 11:10:02       33 阅读
  2. 什么是计算机网络?计算机网络基础知识

    2023-12-18 11:10:02       39 阅读
  3. LeetCode第376场周赛

    2023-12-18 11:10:02       40 阅读
  4. 技术面试斗智斗勇II

    2023-12-18 11:10:02       44 阅读
  5. Joysticks

    2023-12-18 11:10:02       50 阅读
  6. VIM ——Vimtutor 个人总结【从入门到精通】

    2023-12-18 11:10:02       44 阅读
  7. TCP或许不是“可靠”的

    2023-12-18 11:10:02       50 阅读
  8. 【力扣100】2.两数相加

    2023-12-18 11:10:02       50 阅读
  9. 流行的 React 相关库和框架

    2023-12-18 11:10:02       26 阅读