森格 | 2023年2月
介绍:本文旨在介绍ansible的基本使用,提高部署环境时的效率,避免重复操作带来的时间成本。
官网:Ansible
GitHub: https://github.com/ansible/
ansible是一种基于python开发的自动化运维工具,实现了批量系统配置、程序部署、运行命令等功能。
其本身没有批量部署的能力,但其运行的模块具有该能力,ansible不需要在远程主机安装client、agents,因为它们它们基于shh和远程主机进行通讯。
1)Ansible Playbook
是Ansible的配置、部署和编排语言,通过YAML的格式描述,可以将多个任务定义在一个YAML文件中执行。
2)Ansible 模块
是Ansible执行任务的核心。每个模块都是独立的代码,可以通过命令行或Playbook执行。
安装pip、git、pwgen,后面会用到
yum install -y python3-pip git pwgen
1)安装 EPEL源
yum -y install epel-release
2)安装 Ansible
yum -y install ansible
3)Ansible安装验证
ansible --version
返回如下:
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
返回如下:
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
6)使用ansible-playbook运行install.yml
ansible-playbook -i inventory install.yml
运行成功如下图:
7)浏览输入机器IP(不用指定端口),进入AWX
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"
}
设置完后,不用再次输入密码
1)创建清单
2)为清单创建主机
3)在主机上运行命令
4)命令运行结果
到此,我们对于Ansible和AWX的基本介绍及使用已经完成,如果错误之处,欢迎大家指正。
上一篇:68. Python的相对路径
下一篇:引导滤波code