Ansible安装的几种方法【测试成功】

艺帆风顺 发布于 2025-04-03 17 次阅读


一、在线安装ansibleAnsible安装的几种方法【测试成功】

  • 依赖包准备

# 文档中脚本默认均以root用户执行
# 安装 epel 源
yum install epel-release -y
# 安装依赖工具
yum install git python python-pip -y
  • ansible安装,更改国内镜像

# 安装ansible (国内如果安装太慢可以直接用pip阿里云加速)
#pip install pip --upgrade
#pip install ansible
pip install pip --upgrade -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install --no-cache-dir ansible -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

# 配置ansible ssh密钥登陆vi
ssh-keygen -t rsa -b 2048 回车 回车 回车
ssh-copy-id root@$IP
##$IP为需要控制机器的ip地址,按照提示输入yes 和root密码
  • 查找ansible安装的位置

 rpm -ql ansible
/etc/ansible
/etc/ansible/ansible.cfg
/etc/ansible/hosts
/etc/ansible/roles
/usr/bin/ansible
/usr/bin/ansible-2
/usr/bin/ansible-2.7
/usr/bin/ansible-config
/usr/bin/ansible-connection
  • 设置需控制的机器

sudo vim /etc/ansible/hosts
#输入
10.200.200.3 ansible_ssh_user=root
[webservers]
10.200.200.3
10.200.200.31
10.200.200.32
  • ansible的架构:连接其他主机默认使用ssh协议,可以参考上篇文章:https://zhuanlan.zhihu.com/p/594668737

#主控制节点执行
ssh-keygen -t rsa
#分发到被控制节点
ssh-copy-id root@node3
ssh-copy-id root@node2
ssh-copy-id root@node1
  • 验证联通性

 ansible all -m ping

二、离线安装ansible

在企业环境下我们通常需要离线安装文件,在联网情况下一个yum命令即可完成安装,但是离线情况下安装确很复杂,为了解决该问题,我们可以选择本地yum源的解决方案。在使用本地yum源时需要收集相关依赖文件,本文介绍如何收集对应软件的依赖文件。

  1. 使用yum-utils下载依赖包

  2. 使用createrepo创建本地库

  • 下载离线安装包

准备一台联网电脑,安装与目标电脑使用相同镜像的os服务器,使用yumdownloader工具下载安装包及其相关依赖包

# 使用root执行如下命令 
cd ~
# 安装工具yum-utils
yum install yum-utils -y
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
# 创建目标文件夹,下载依赖包到目标文件夹
mkdir -p /root/mypackages
yumdownloader --resolve --destdir /root/mypackages/ ansible
yumdownloader --resolve --destdir /root/mypackages/ createrepo

tar -czvf ansible.tar.gz ./mypackages
  • 下载包,并上传上一个步骤生成包到内网需要安装该软件的目标机上

mkdir -p /data/
tar -xzvf ansible.tar.gz -C /data/

# 安装createrepo
cd /data/mypackages
# rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm
rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm
rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm


# 制作离线源,成功执行后能在/data/ansible_packages看到新增了一个repodata目录:
createrepo /data/mypackages



# 新增yum文件/etc/yum.repos.d/ansible.repo ,如下注释2行是删除掉原有源
# mkdir /root/repo_bak
# mv /etc/yum.repos.d/*.repo /root/repo_bak
cat /etc/yum.repos.d/ansible.repo
[ansible]
name=ansible
baseurl=file:///data/mypackages
gpgcheck=0
enabled=1
EOF
  • 测试安装

# 清理缓存更新 
yum clean all
yum makecache

# 更新版本
yum repolist
yum list|grep ansible
# 安装ansible
yum install ansible -y
# 验证ansible是否安装成功
ansible --version

    版权声明:本文内容来自知乎:否极泰来,遵循CC 4.0 BY-SA版权协议上原文接及本声明。本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行可。原文链接:https://zhuanlan.zhihu.com/p/595804575?utm_id=0如有涉及到侵权,请联系,将立即予以删除处理。在此特别鸣谢原作者的创作。此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作者,非商业转载请注明出处。