ansible--playbook(nginx安装)

ansible自动化运维playbook介绍

简介:本次实验内容我们采用自动化的方式部署nginx服务,本次会使用到yml脚本的相关知识,同学们可以边使用边学习yml脚本知识。
这里我们先将yml脚本相关的说明讲一下:

yml脚本介绍

remote_urer: root #远程ssh认证用户;
sudo: yes #设置“playbook sudo"操作;
sudo: admin #设置playbook sduo操作
gather_facts: no #设置facts信息收集;
accelerate: no #设置accelerate模式;
accelerate_port: 5099 #设置accelerate端口;
max_fail_percentages: 30 #设置playbook task 失败百分比;
connection: local #设置连接的方式;
serial: 15 #设置并发数目;
vars:
nginx_port: 80 #设置变量;
vars_file:
- “vars.yml” #引入变量文件;
- [“one.yml”,“two.yml”]
roles: #引入角色(一个角色就相当于一个tasks)
- docker
tasks: #设置引入tasks
- include: task.yml
post_tasks: #设置运行之后的tasks
- name: post_tasks
handles: #设置playbook的handles
- include: handlers.yml

ansible 角色介绍

ansible-playbook是ansible进行配置管理的组件,虽然ansible的日常AD-hoc命令功能可以解决,能完成一些基本配置管理工作,但是ad-hoc命令无法支撑复杂配置管理工作,在我们实际使用ansible的工作中,大部分时间都是在编写play-book。
这是ansible非常重要的组件之一。
我们在根目录创建一个site.yml
ansible--playbook(nginx安装)
我们可以看看具体的yml脚本怎么写:
ansible--playbook(nginx安装)
完成以下实验步骤:
1、在根目录下创建一个nignx文件夹;
ansible--playbook(nginx安装)
2、在nginx目录下创建一个rolse目录,在roles目录下创建一个nginx/tasks
ansible--playbook(nginx安装)
先把需要的目录创建好。
注:roles就是我们角色的意思(配置管理就很灵活了)
我们在roles目录下面的nginx里面创建一个总入口文件site.yml
说明:在nginx后面有一个tasks目录,这个tasks目录就是我们的动作,进入tasks文件,写一个main.yml。这个就是我们主要执行的路径了。
ansible--playbook(nginx安装)
我们在main.yml文件里面写入以下内容:
ansible--playbook(nginx安装)
3、进入我们主要控制的site.yml文件
这个文件在我们根目录下的nginx里面创建。
ansible--playbook(nginx安装)
site.yml文件内容如下:
ansible--playbook(nginx安装)
我们在这里可以写很多的角色,这里的控制都是在我们的site.yml里面的。
我们为什么叫他统一入口文件,是因为一切都是从他开始的。
我们再再根目录下面的nginx里面再创建一个hosts文件。如下
ansible--playbook(nginx安装)
写的内容如下:
ansible--playbook(nginx安装)
我们再第一台测试机器里面安装nginx
我们来看看根目录下面创建的nginx里面的内容:
ansible--playbook(nginx安装)
4、我们来执行这个脚本:
ansible-playbook -i hosts site.yml
ansible--playbook(nginx安装)
按回车后就提示开始在远程主机上安装了。我们只需要稍等一会就可以了
ansible--playbook(nginx安装)
这里有一个错误,提示的是认不到nginx。原因很简单就是远程主机上面的源下载不了nginx这个包,我们在远程主机上将它源换掉就可以了。
备份源:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下载源:
centOS7的源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
REPO的源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

清理缓存:
yum clean all
生成新的缓存:
yum makecache
执行后再来操作:
ansible--playbook(nginx安装)
再在远程主机上面看是否有nginx
ansible--playbook(nginx安装)
这次实验就到这里了。
祝大家学的愉快,勤学好问,多练。
感谢CSDN平台

上一篇:Gradle构建SpringBoot项目


下一篇:POJ2349 Arctic Network(Prim)