AWX添加主机及批量安装Nginx示例
前言
在当今追求高效运维与自动化的时代,手动逐台配置服务器不仅耗时费力,更容易引入人为错误,难以满足快速迭代和规模化管理的要求。Ansible AWX作为一款强大的开源IT自动化平台,正是解决这一痛点的利器。它提供了直观的Web界面、基于角色的访问控制、任务调度以及可视化工作流编排,将Ansible的强大能力封装成易于管理和协作的形式。
批量管理主机和自动化部署软件(如Nginx这样的核心Web服务)是AWX最典型的应用场景之一。掌握如何在AWX中高效、安全地添加目标主机,并利用其能力执行批量部署任务,是提升运维效率、保障环境一致性的关键步骤。
1. 创建凭证
用于连接客户机的凭证,可以使用SSH账号密码连接,但更推荐使用SSH密钥连接
1.1 生成SSH公钥和私钥
ssh-keygen -t rsa -b 4096 -f ~/.ssh/awx_key
1.2 配置公钥
- 查看SSH公钥内容
ssh-keygen -y -f ~/.ssh/awx_key
- 客户机配置SSH公钥
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABCAACAQDlY5KAHVrVuHEFEfIZEvv2aHcvdPngC3GrRrgXqno24aSkttzaS/JOHNYwyZWkJlL9O8//UlbDRRn3sJsrCtPHhyYkswrIXHC1jES5AVYgmAYLGu87SFirb1T9FBj9KWcWXOlDG7sPJ9paxVvqcwkZy9Q5AgDGrhQY5cAHzQzQhy5BUza58JOzbg0pMa9Vl2gXtynPKLatikOaCBPEAOjdiXxb6ZHTbc6H/ENy/eZ0BLWiz4AcAQvf6bIgJWifysqGe/FoDcAEWbK41z3YhtPsEotX19VoLlqURmIlantxyHgPHpVtpycKFU/PuvPpy7N7N5J2DPEcPeWSp5vw3h5bNKfR3MRrd45cL5CSDArafOfUe7LjuRY7p+NW66gPh7uOBhTKWQrTyEYieD5VnKCtTPiMURlwt0ME09QYv0Nf1RT8ZZdhOu/qlMZtCMLsvwy2D6/HuFsns4VMMHvzFx059WdfndZhTFtNoGo4adnJyXmlv+mmG7cJgwyHrltz6FD0MAPsLjJZa/SBVtYKYSG1j7XaoOtajcqSEYylJyzM6DDbUTMuBNfTXWSnAv7hIIqDvWBXR235DpE7tMpa0Pib+yo6H8K0B2c5nVEquiWwUE4eO0L81/6LDpQILWW31NWVQ01TPJPtuDExeV4CLrgq+8ttCsGvtTdhLPNYYHAmrw==" >> ~/.ssh/authorized_keys
1.3 AWX配置SSH私钥
- 查看SSH私钥内容
cat ~/.ssh/awx_key
- AWX添加SSH私钥凭证
2. 创建项目
用于存放 ansible playbook 的目录,也可以是通过git仓库来管理playbook,仓库地址:https://github.com/hzbb2221/ansible-application-install-samples.git
-
状态“成功”表示已经成功拉取playbook
3. 创建清单
创建完清单后,添加主机
---
ansible_host: 192.168.253.147
4. 创建模板
工作模板,用于指定作业
- 选择要执行任务的主机清单:
host
- 选择要执行的项目:
ansible-application-install-samples
- 选择要执行Playbook:
nginx-install.yml
- 选择连接主机的凭证:
SSH私钥
5. Playbook 文件内容
---
- name: 安装Nginx
hosts: all
become: yes
vars:
target_port: 10080
nginx_conf: "/etc/nginx/nginx.conf"
tasks:
# 安装Nginx
- name: 安装EPEL仓库
yum:
name: epel-release
state: present
- name: 安装Nginx
yum:
name: nginx
state: present
notify: 重启Nginx
# 配置管理
- name: 修改监听端口
replace:
path: "{{ nginx_conf }}"
regexp: 'listen\s+80;'
replace: 'listen {{ target_port }};'
backup: yes
notify: 重启Nginx
# 验证配置
- name: 检查配置语法
command: nginx -t
register: nginx_check
changed_when: false
failed_when: nginx_check.rc != 0
handlers:
- name: 重启Nginx
service:
name: nginx
state: restarted
-
- 客户机是CentOS7系统,可以使用YUM方式安装Nginx
-
- 修改Nginx监听端口为10080
-
- 重启Nginx
6. 启动作业
查看输出,以下结果表示成功
7. 查看客户机Nginx安装结果
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
运维小记!
喜欢就支持一下吧
打赏
微信
支付宝