[Linux]-Ansible
创始人
2024-05-24 22:13:32
0

[Linux]-Ansible

森格 | 2023年2月

介绍:本文旨在介绍ansible的基本使用,提高部署环境时的效率,避免重复操作带来的时间成本。


文章目录

  • [Linux]-Ansible
  • 一、什么是Ansible
    • 1.1 基本介绍
    • 1.2 核心概念
    • 1.3 优点
  • 二、环境部署
    • 2.1 Ansible
    • 2.2 Docker
    • 2.3 AWX
  • 三、使用案例
    • 3.1 Ansible
    • 3.2 AWX
  • 四、总结


一、什么是Ansible

官网:Ansible

GitHub: https://github.com/ansible/

1.1 基本介绍

ansible是一种基于python开发的自动化运维工具,实现了批量系统配置、程序部署、运行命令等功能。

其本身没有批量部署的能力,但其运行的模块具有该能力,ansible不需要在远程主机安装client、agents,因为它们它们基于shh和远程主机进行通讯。

1.2 核心概念

1)Ansible Playbook

是Ansible的配置、部署和编排语言,通过YAML的格式描述,可以将多个任务定义在一个YAML文件中执行。

2)Ansible 模块

是Ansible执行任务的核心。每个模块都是独立的代码,可以通过命令行或Playbook执行。

1.3 优点

  • 部署简单,只需要在主控端部署Ansible环境,被空端无需部署。
  • 拥有大量操作模块,可实现绝大部分的运维操作。
  • 配置简单、功能强大,支持API及自定义模块,通过Python可轻松扩展。
  • Playbook提供了强大的可定制及状态管理。
  • 提供了AWX可视化平台,更方便的编排部署Ansible Playbook

二、环境部署

安装pip、git、pwgen,后面会用到

yum install -y python3-pip git pwgen

2.1 Ansible

1)安装 EPEL源

yum -y install epel-release

2)安装 Ansible

yum -y install ansible

3)Ansible安装验证

ansible --version

返回如下:

在这里插入图片描述

2.2 Docker

1)安装 docker

curl -fsSL https://get.docker.com/ | sh

如果是网络问题,就多试几次。

2)docker安装验证

docker --version

返回如下:

在这里插入图片描述

3)配置镜像加速

#1、创建文件夹
mkdir -pv /etc/docker
#2、写入配置
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://v16stybc.mirror.aliyuncs.com"]}
EOF
#3、重新加载
systemctl daemon-reload && Systemctl restart docker

4)安装docker-compose

两种方式

a:二进制文件安装

curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 注意赋权
chmod +x /usr/local/bin/docker-compose

b:使用python模块安装

pip3 install docker-compose

5)docker-compose安装验证

docker-compose --version

返回如下:

在这里插入图片描述

2.3 AWX

1)更新pip3,否则可能会报错

pip3 install --upgrade pip

2)安装上小节一致的版本

pip3 install docker-compose==1.25.5

3)下载AWX包

wget https://github.com/ansible/awx/archive/14.1.0.tar.gz
tar -zxf 14.1.0.tar.gz

4)进入目录,利用pwgen生产密钥

cd ./awx-14.1.0/installer/
pwgen -N 1 -s 10

5)更改inventory文件

vim ./inventory
  • admin_password=你的管理员密码
  • secret_key=上面生成的10个字符秘钥

6)使用ansible-playbook运行install.yml

ansible-playbook -i inventory install.yml

运行成功如下图:

在这里插入图片描述

7)浏览输入机器IP(不用指定端口),进入AWX

在这里插入图片描述
在这里插入图片描述

三、使用案例

3.1 Ansible

1)修改ansible的配置文件,添加服务组,填充被控的机器IP

vim /etc/ansible/host

DEMO:

在这里插入图片描述

[组名称] 自定配置即可。

2)配置公钥、私钥

a:生成密钥

ssh-keygen -t rsa

在这里插入图片描述

步骤:回车(保存在默认路径:/root/.ssh/id_rsa)=> 连续输入两次密码(可自定义)

b:分发公钥给被控机器

cd /root/.ssh/
ssh-copy-id root@ip

c:设置免密交互(可以自行选择)

ssh-agent bash
ssh-add

d:ping检查连通性

ansible ip -m ping
ip | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}

设置完后,不用再次输入密码

3.2 AWX

1)创建清单

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2)为清单创建主机

在这里插入图片描述
在这里插入图片描述
3)在主机上运行命令

在这里插入图片描述
在这里插入图片描述

4)命令运行结果

在这里插入图片描述

四、总结

到此,我们对于Ansible和AWX的基本介绍及使用已经完成,如果错误之处,欢迎大家指正。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...