Ansible介绍

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-17 15:32:44
ansible基础
ansible简介
ansible安装
什么是ansible
为什么选择ansible
ansible特性
工作流程
配置环境
安装ansible

ansible基础

Ansible中文权威指南

ansible简介

什么是ansible

  • ansible是2013年推出的一款IT自动化和DevOps软件,2015年被RedHat收购。是基于Python研发,糅合很多老运维I具的优点,实现了批量操作系统配置,批量程序部署, 批量运行命令等功能
  • ansible可以实现:
    自动化部署APP
    自动化管理配置项
    自动化持续交付
    自动化( AWS )云服务管理

为什么选择ansible

  • 选择一款配置管理软件,无外乎从以下几点来权衡利弊
    活跃度(社区)
    学习成本
    使用成本
    编码语言
    性能
    使用是否广泛

为什么选择ansible ( 续1 )

自动化工具 Watch (关注) Star点赞 Fork (复制) Contributors (贡献者)
Ansible 1690 24105 8220 2776
SaltStack 576 7835 3643 1832
Puppet 502 4533 1872 446
Chef 424 4907 2038 510

为什么选择ansible ( 续2 )

  • ansible优点
    只需要SSH和Python即可使用
    无客户端
    ansible功能强大 ,模块丰富
    上手容易,门槛低
    基于Python开发,做二次开发更容易
    使用公司比较多,社区活跃

ansible特性

  • 模块化设计,调用特定的模块完成特定任务
  • 基于Python语言实现
    paramiko
    PyYAML (半结构化语言)
    Jinja2
  • 其模块支持JSON等标准输出格式,可以采用任何编程语言重写

ansible特性( 续1 )

  • 部署简单
  • 主从模式工作
  • 支持自定义模块
  • 支持playbook
  • 易于使用
  • 支持多层部署
  • 支持异构IT环境

工作流程

  • ansible大体执行过程
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sdzM0CqQ-1584180490822)(C:\Users\Administrator\Desktop\Ansible\图片\ansible1.png)]

ansible安装

配置环境

下载ansible

IP 主机名
192.168.199.150 web1
192.168.199.151 web2
192.168.199.152 web3
192.168.199.149 web4
192.168.199.148 web5
[root@web1 ~]# vim /etc/hosts
192.168.199.150         web1
192.168.199.151         web2
192.168.199.152         mysql1
192.168.199.149         mysql2
192.168.199.148         xl
[root@web1 ~]# mkdir /var/ftp/ansible
[root@web1 ~]# cp Ansible.tar.gz /var/ftp/ansible/
[root@web1 ~]# cd /var/ftp/ansible/
[root@web1 ansible]# tar -tf Ansible.tar.gz

在这里插入图片描述

[root@web1 ansible]# tar -zxvf Ansible.tar.gz
[root@web1 ansible]# createrepo ./
[root@web1 ~]# vim /etc/yum.repos.d/ansible.repo
[ansible]
name=ansible
baseurl="file://192.168.199.254/var/ftp/ansible"
enabled=1
gpgcheck=0
[root@web1 ~]# yum clean all
[root@web1 ~]# yum repolist

在这里插入图片描述

安装ansible

[root@web1 ~]# yum -y install ansible
[root@web1 ~]# ansible --version

在这里插入图片描述

[root@web1 ~]# for i in web2 mysql1 mysql2 xl
> do
> rsync -av /etc/hosts ${i}:/etc/
> ssh ${i} reboot
> done

在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!