zoukankan      html  css  js  c++  java
  • Ansible的快速入门

        Ansible 是一个简单的自动化引擎,可完成配置管理,应用部署,服务编排等各种IT需求。

    Ansible使用python语言开发实现的开源软件,依赖于Jinjia2,paramiko和PyYAML这几个python库。

    安装Ansible

    可以使用yum或者pip安装。

    yum -y install python-pip
    pip install ansible
    

    Ansible的配置文件

    /etc/ansible/ansible.cfg

    [defaluts]                      
    remort_port= 2092               
    remot_user= scott               
    inventory= /etc/ansible/hosts 
    

      

    配置远程服务器列表

        ansible会默认读取/etc/ansible/hosts配置的远程服务器列表,可以通过/etc/ansible/ansible.cfg修改读取的文件位置。

    [appservers]
     192.168.1.105     #默认的连接用户是root,端口是22,也可以在/etc/ansible/ansible.cfg修改这些默认配置
     120.77.85.76 ansible_port=2085 ansible_user=devop1 #也可以指定指定端口和用户
    
    [dbservers]
    192.168.1.45
    

      注意appservers里的成员我已经配置好了ssh的密钥连接,配置的方方法参考:ssh通过密钥进行连接

    Ansible的ad-hoc模式

    使用ansible命令执行操作的方式成为ad-hoc,对应的playbook方式操作远程服务器。

     格式: ansible  hostname || hostgroup || all   -m module_name  -a  module_args

    使用ping模块

    由于dbservers没有配置ssh密钥连接,需要加上--ask-pass,输入用户的密码,如果是sudo的权限需要加上--ask-become-pass

     

    使用command模块执行shell命令

    由于command模块是默认的模块也可以省略

    另外常见的模块还有copy,file,apt等。

    使用Ansible-playbook

    编写yaml格式的playbook

    ---   
    - hosts: webservers
      become: yes
      become_method: sudo
      tasks:
       - name: ping server
         ping:
       - name: copy file to remote server
         copy: src=/tmp/data.txt dest=/tmp/data.txt
       - name: chnage mode
         file: dest=/tmp/data.txt mode=500 owner=scott group=scott
       - name: ensure packeges installed
         yum: pkg={{ item }} state=present
         with_items:
           - lrzsz
           - git

     hosts关键字声明Playbook应用服务器列表

        become和become_method是在远程服务器通过sudo操作。

        该Playbook包含若干个task,

        第一个是判断服务器是否在线

        第二个是复制本地文件到远程服务器

        第三个是修改文件权限

        第四个是安装软件

  • 相关阅读:
    Python学习4
    Python学习3
    Python学习2
    表空间
    sqlplus常用设置
    HashMap和LinkedHashMap
    堆栈源码
    观察者模式
    策略模式
    java线性表
  • 原文地址:https://www.cnblogs.com/zydev/p/7787826.html
Copyright © 2011-2022 走看看