Python Linux系统管理与自动化运维之深入浅出Ansible(三)

本文介绍如何使用Ansible Playbook实现Nginx和MongoDB的自动化部署过程,包括安装软件包、配置文件权限等步骤,并提供了一些基本的Ansible命令介绍。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用Playbook的使用并利用playbook实现Nginx与MongoDB的部署。

playbook1.yml

---
- import_playbook: playbook.yml
- hosts: db_server
  tasks:
  - name: install mongodb
    yum: name=mongodb-server state=present

- hosts: webserver
  tasks:
    - name: copy file
      copy: src=/tmp/data.txt dest=/tmp/data.txt

    - name: change mode
      file: dest=/tmp/data.txt mode=655 owner=root group=root

    - name: install file
      yum: name=httpd state=latest

ansible-playbook 命令介绍:

--list-tasks: 列出任务列表
--step: 每执行一个任务都等待用户确认
--syntax-check: 检查playbook的语法
--C --check: 检查当前这个playbook是否会修改远程服务器。

Playbook详细语法介绍:

在定义play时,只有hosts和tasks是必选选项,其他都是根据需要添加的,这里我们根据play提供的不同功能以playbook为线索介绍play与tasks中可以使用的选项

1.权限

 ---
 #针对单个任务执行管理员权限
 - hosts: webserver
   romote_user: root
   tasks:
    - name: test connection
      become: yes
      become_method: sudo
--- 
- hosts: webserver
  remote_user: root
  tasks:
    - name: test connection
    ping:
    remote_user: anan
用来检测yaml格式是否正确
#!/usr/bin/python2.7 
# -*- coding: utf-8 -*-
# @Date    : 2018-07-21 23:23:56
# @Author  : Zhou Jiaan
# @Version : V1.0
import os
import yaml
import sys

def playbookmonitor(playbook):
  with open(playbook) as f:
    print(yaml.load(f))

def main():
    try:
        test_playbook = sys.argv[1]
        print(test_playbook)
    except Exception as e:
        print(e)
        test_playbook = input("请输入需要检测的playbook:")

    else:
        print("输出test_playbook:{}".format(test_playbook))
    finally:
        playbook = test_playbook
    #    print(playbook)
        playbookmonitor(playbook)

if __name__ == '__main__':
    main()

2.通知

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值