zoukankan      html  css  js  c++  java
  • ansible笔记(1)-入门实践

    什么是ansible?

    ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

    ansible能做什么?

    批量完成一些需要经常重复的任务

    比如:批量部署软件

    比如:批量拷贝文件

    比如:批量重启服务

    ansible相比于其他工具有什么优势?

    No agent 不需要在被管控主机上安装任何软件

    No server 不用单独启用服务,能使用直接运行,使用时直接运行命令

    对硬件资源占用小

    不需要在被管控的主机上安装任何软件

    基于模块工作

    基于ssh工作

    使用yaml语言

    可实现多级指挥

    ansible的安装

    ansible可通过epel源yum安装,安装方式如下:

    [root@myhost ~]# yum install epel-release -y
    [root@myhost ~]# yum install ansible -y
    

      

    简单配置ansible的主机

    ansible主机配置文件位置:

    [root@myhost ~]# ll /etc/ansible/hosts
    -rw-r--r-- 1 root root 1016 7月  21 07:59 /etc/ansible/hosts
    

      配置文件可按如下格式编写:

    192.168.10.2  ansible_port=22 ansible_user=root ansible_ssh_pass=123456
    参数说明:
    ansible_port=22  表示使用22端口,默认为22端口,若未修改过ssh端口可不指定
    ansible_user=root  表示使用root用户来ssh连接主机
    ansible_ssh_pass=123456  表示对应用户的连接密码

      以上编写方式较为麻烦且安全性不高,既然是基于ssh的连接,我们便可以使用密钥验证的方式:

    [root@myhost ~]# ssh-keygen    #生成密钥
    
    #将生成的公钥加入到192.168.10.2的认证列表
    [root@myhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.2 
    
    #至此,在/etc/ansible/hosts文件中仅需配置ip即可。
    

      主机分组配置:

    #若主机很多,我们想分组进行操作可以采取如下的配置方式:
    [testgroup]
    192.168.0.2
    192.168.0.3
    192.168.0.4
    192.168.0.5
    192.168.0.6
    
    #如上配置过后可直接通过组名对组内所有主机进行操作:
    ansible testgroup -m ping   #查看主机连接状态
    

      

  • 相关阅读:
    面试题总结
    软件测试面试心得
    git上传本地文件到gitee上
    一个测试员失业的自述
    整理了Linux常用命令变量
    java B2B2C多用户商城系统-搜索分词架构分享
    B2B2C商城系统-Table组件封装代码分享
    Javashop 电商系统sso登录实现
    b2b2c商城系统-会员预存款架构及源码分享
    java 商城系统源码分享-snowflake发号器
  • 原文地址:https://www.cnblogs.com/ltlinux/p/11280434.html
Copyright © 2011-2022 走看看