九、nginx+ansible(进阶)

目录

5.ansible四大组件

6.host inventory配置

7.playbook使用

        7.1playbook的核心元素

        7.2playbook命令

        7.3使用playbook安装redis

        7.4带配置文件安装redis

        7.5ansible-playbook深入学习


5.ansible四大组件

host inventory(主机清单) --》可以去操作哪些主机

modules(模块) --》实现某个功能的库

plugins(插件) --》完成某些功能的模块

playbook --》告诉主机清单里的服务器做什么事情

#如果把ansible看成一步电影,那么host inventory可以看做演员,modules和plugins是道具师,playbook则是剧本。

6.host inventory配置

         写明控制的机器的信息,例如ip地址、ssh端口号、域名、用户名和密码

7.playbook使用

hosts : playbook配置文件作用的主机tasks: 任务列表variables: 变量 templates:包含模板语法的文本文件handlers :由特定条件触发的任务roles :用于层次性、结构化地组织playbook。roles 能够根据层次型结构自动装载变量文件、tasks以及handlers等

        playbook是Ansible的配置,部署和编排的语言,是基于YAML语言格式配置。

        7.1playbook的核心元素

hosts : playbook配置文件作用的主机

tasks: 任务列表

variables: 变量

templates:包含模板语法的文本文件

handlers :由特定条件触发的任务

roles :用于层次性、结构化地组织playbook

roles 能够根据层次型结构自动装载变量文件、tasks以及handlers等

        7.2playbook命令

                7.2.1ansible-playbook --syntax-check playbook.yaml 语法检测

 

                7.2.2ansible-playbook playbook.yaml 运行

        7.3使用playbook安装redis

        7.3.1使用命令安装

[root@hzw playbooks]# cat redis_first.yaml 
- hosts: all  #对所有主机起作用
  remote_user: root #用root用户连接
  tasks:  #任务列表
  - name: install redis # 第一步、安装redis
    yum: name=redis state=latest

#yum安装或卸载,name=要操作的软件,state=latest/absent/present/removed
  - name: start redis # 第二步、启动redis
    service: name=redis state=started

#service服务,name=要操作的对象,state=started/stoped/restarted/reloaded

#注意缩进

         7.3.2在web机器上验证 

        7.3.3总结

        此次操作只是安装redis并启动redis服务,并不能符合实际工作中的定制,当然用来用来一些简单的操作足矣。

        7.4带配置文件安装redis

        7.4.1先从刚安装了redis的web端fetch一个redis.conf文件过来

        修改bind为web端本机ip

        7.4.2创建一个yaml文件

[root@hzw playbooks]# cat redis_second.yaml 
- hosts: all #对在hosts中添加的所有主机起作用
  remote_user: root
  tasks:  #任务列表
  - name: install redis #任务1安装redis
    yum: name=redis state=latest
  - name: copy config file #任务2 将ansible服务器上的redis.conf文件分发覆盖两台web的redis.conf文件
    copy: src=/lianxi/playbooks/redis.conf dest=/etc/redis.conf owner=redis
    notify: restart redis #notify做标记触发通知,下面的handlers处理通知
    tags: configfile #可以在命令中直接跳到这一步执行
  - name: start redis #任务3 启动redis
    service: name=redis state=started
  - name: echo #任务4 打印一个字符串
    shell: echo "start sc redis"
  handlers: #是一个特殊的task,在notify处的tesk中如果配置文件发生了变化会触发
  - name: restart redis
    service: name=redis state=restarted    

         7.4.3使用ansible-playbook命令

        #tag的使用

         7.4.4验证效果

        使用命令前

        使用命令后 

         #我们修改的配置文件redis.conf修改了bind为0.0.0.0,并且覆盖了两台web机器,所以两台web机器中redis监听的ip变为了0.0.0.0.

        7.5ansible-playbook深入学习

        7.5.1创建一个redis.conf.j2文件并在其中修改两行

        #第一行中第一个[]是你自己的网卡类型,使用ip add查看

        #第一行表示修改ip文本机ip

        #第二行表示修改redis服务监控端口

[root@hzw playbooks]# cat redis_third.yaml 
- hosts: all
  remote_user: root
  vars:  #添加变量
    scredis: /lianxi/playbooks/redis.conf.j2 #自定已变量scredis
    redis_port: 2000 #系统自带变量
  tasks: 
  - name: install redis
    yum: name=redis state=latest
  - name: copy config file
    template: src={{scredis}} dest=/etc/redis.conf owner=redis #使用模板,变量{{scredis}}
    notify: restart redis
    tags: configfile
  - name: start redis
    service: name=redis state=started
  - name: echo
    shell: echo "start sc redis"
  handlers:
  - name: restart redis
    service: name=redis state=restarted    

         7.5.2使用ansible-playbook命令 

        7.5.3验证

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值