ansible自动化部署
本次以ansible自动化部署nginx为例:
虚机配置:
机器IP | CPU&内存 | 系统盘 | 备注 |
192.168.190.155 管理机 | 2C4G | 50GB | 建议最低配置 |
192.168.190.154 被管理机 | 2C4G | 50GB | 建议最低配置 |
yum -y install epel-release |
yum -y install ansible |
yum -y install nginx |
找一台有网的虚机
① 下载ansible需要的依赖环境和rpm安装包(##提前准备好ansible文件夹:mkdir /ansible):
repotrack ansible |
tar -cvf ansible.tar.gz /ansible/ |
③ 下载nginx需要的依赖环境和rpm安装包(##提前准备好nginx文件夹:mkdir /nginx):
repotrack nginx |
tar -cvf nginx.tar.gz /nginx/ |
将准备好的ansible.tar.gz和nginx.tar.gz上传至需要部署高可用的机器即可。
systemctl status firewalld 若关闭,则检查下一项,若开启,则需要执行如下命令 systemctl stop firewalld ##临时关闭防火墙, systemctl disable firewalld ##永久关闭防火墙 |
ssh-keygen -t rsa ssh-copy-id root@192.168.190.154 |
tar -xvf nginx.tar.gz ##提前创建一个目录:mkdir nginx tar -xvf ansible.tar.gz ##提前创建一个目录:mkdir ansible |
rpm -Uvh --force --nodeps *.rpm |
至此,nginx和ansible已经全部安装在虚机上了
cd /etc/ansible |
4、修改hosts文件(vi /etc/ansible/hosts):
内容:
[nginx] 192.168.190.154 ##将被管理机的IP写入hosts文件中 |
5、编译ansible-playbook yaml文件(vi /etc/ansible/nginx.yml)
内容:
--- - name: install nginx gather_facts: true hosts: nginx remote_user: root tasks: - name: close firewalld service: name=firewalld state=stopped - name: install nginx yum: name: nginx state: latest - name: start nginx service: name=nginx state=started - name: copy conf file copy: src=/etc/nginx/nginx.conf dest=/etc/nginx/nginx.conf ##管理机nginx.conf安装的路径 ##被管理机nginx.conf文件路径 |
ansible-playbook nginx.yml |
登录被管理机192.168.190.154,执行systemctl status nginx
打开Windows机器的浏览器,输入 http://192.168.190.154