zoukankan      html  css  js  c++  java
  • 自动化运维-ansible入门篇

    1.ansible配置

    什么是Ansible
    • IT自动化工具
    • 依赖于现有的操作系统凭证来访问控制远程机器
    • 简单易用、安全可靠

    Ansible可以完成哪些任务

    • 配置系统
    • 开发软件
    • 编排高级的IT任务

    Ansible特点

    • 轻量级
    • 易学习
    • 操作灵活
    Ansible执行流程

    ![image-20190828152118020](/Users/mac/Library/Application Support/typora-user-images/image-20190828152118020.png)

    ![image-20190828152147492](/Users/mac/Library/Application Support/typora-user-images/image-20190828152147492.png)

    Ansible安装配置

    Ansible安装方式

    • python pip
    • 软件源
    • Ansible源码

    python pip安装

    • sudo pip install ansible

    优点

    • 简单、快速、跨平台

    软件源安装

    • sudo yum install peel-release && sudo yum install ansible

    优点

    • 简单、快捷、跨平台

    软件源安装(ubuntu)

    • $ sudo apt-get install software-properties-common
    • $ sudo apt-add-repository spa:ansible/ansible
    • $ sudo apt-get update
    • $ sudo apt-get install ansible

    优点

    • 不会出现编译或者依赖问题

    Ansible配置

    • host配置

      host文件: /etc/ansible/hosts

    • 配置内容:

      [test]

      192.168.1.1

    配置远程登录

    • 添加公钥:

      ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.1

    连通测试

    • 运行Ansible命令:

      ansible all -m ping

    • 正确的运行结果:

      192.168.1.1 | SUCCESS => {

      ​ "changed": false,

      ​ "ping": "pong"

      }

    2.Ansible基本使用

    Ad-hoc是什么
    • 命令行工具
    • 适用于业务变更
    • 所见即所得

    Ad-hoc怎么用

    举例说明:

    • 列出目标主机目录

      ansible test -m shell -a "ls /root" --user=root
      
      

    Ansible help message

    • 普通可选参数
    • 链接目标主机相关参数
    • 权限控制相关参数
    Ansible Inventory

    Inventory是什么

    • 定义主机关系的文件
    • 默认路径为/etc/ansible/hosts
    • 文件内容格式为ini

    Inventory主机组

    [组名]
    192.168.1.1
    192.168.1.2
    

    Inventory主机别名

    jumper ansible_ssh_port = 22
    ansible_ssh_host = 192.168.1.1
    

    Inventory链接参数

    ansible_ssh_host
    #将要连接的远程主机名,与你想要设定的主机别名不同的话,可通过此变量设置
    
    ansible_ssh_port
    #ssh端口号,如果不是默认的端口号,通过此变量设置
    
    ansible_ssh_user
    #默认的ssh用户吗
    
    ansible_ssh_pass
    #ssh密码(这种方式并不安全,我们强烈建议使用 --ask-pass或SSH)
    
    ansible_sudo_pass
    #sudo密码(这种方式并不安全,我们强烈建议使用 --ask-sudo-pass)
    
    Inventory批量主机组
    [websevers]
    www[01:50].example.com
    [databases]
    db-[a:f].example.com
    
    Ansible基本使用
    • 了解Ansible使用
    • 了解Ansible模块查找使用方法

    实战

    • 安装mysql

      ansible test -m yum -a "name=mariadb-server state=latest"
      #安装使用yum模块  name参数是必须的,服务名称,  state参数是可选的,latest表示安装
      
    • 启动服务/暂停服务

      ansible test -m systemd -a "name=mariadb state=started"
      #启动mariadb服务 
      ansible test -m systemd -a "name=mariadb state=stopped"
      #关闭mariadb服务
      
    • 查看mysql服务是否启动

      ansible test -m shell -a "ps -ef|grep mysql"
      
  • 相关阅读:
    wenti
    vim
    在两种情况下设备与驱动会发生匹配
    用Qt图形视图框架开发拼图游戏
    Android RecyclerView添加Header头部
    Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果
    Java 集合深入理解(4):List<E> 接口
    你们公司有职业通路图吗
    linux系统性能监控--内存利用率
    linux系统性能监控--CPU利用率
  • 原文地址:https://www.cnblogs.com/only-me/p/11426135.html
Copyright © 2011-2022 走看看