ansible是什么,一文入门ansible

ansible基础

ansible简介

什么是ansible

ansible是一款批量管理服务器的工具
2015年被红帽公司收购
使用Python语言编写的
基于ssh进行管理,所以不需要在被管端安装任何软件
ansible在管理远程主机的时候,主要是通过各种模块进行操作的

ansible可以做什么

批量修改服务器密码
批量安装软件包
批量修改配置

ansible产品特色

基于SSH架构
模块丰富
社区活跃
可以自定义模块
支持异构IT架构
部署简单容易上手

环境部署

所需软件包:ansible源码包

主机名IP地址角色
node1192.168.88.11被控制节点(test)
node2192.168.88.12被控制节点(proxy)
node3192.168.88.13被控制节点(web1)
node4192.168.88.14被控制节点(web2)
node5192.168.88.15被控制节点(database)
control192.168.88.253控制节点(manager)
  • 6台主机,需要配置主机名、IP地址、YUM。关闭SELINUX和防火墙
  • control节点要求:
    • 配置名称解析,能够通过名字访问所有节点
    • 配置可以通过ssh到所有节点免密登陆
    • 拷贝ansible_soft.tar.gz到control,并解压安装

ansible部署

ansible基础环境准备

1. 配置名称解析
[root@control ~]# echo -e "192.168.88.253\tcontrol" >> /etc/hosts
[root@control ~]# for i in {1..5}
> do
> echo -e "192.168.88.1$i\tnode$i" >> /etc/hosts
> done
[root@control ~]# tail -6 /etc/hosts
192.168.88.253	control
192.168.88.11	node1
192.168.88.12	node2
192.168.88.13	node3
192.168.88.14	node4
192.168.88.15	node5
2.配置免密登陆
[root@control ~]# ssh-keygen   # 三个问题都直接回车,使用默认值
[root@control ~]# for i in node{1..5}   # 回答yes和密码
> do
> ssh-copy-id $i
> done
3.装包
[root@control ~]# yum install -y tar
[root@control ~]# tar xf ansible_soft.tar.gz 
[root@control ~]# cd ansible_soft/
[root@control ansible_soft]# yum install -y *.rpm

配置ansible管理环境

  • 因为要管理的远程主机可能不一样。所以具有相同管理方式的配置放到一个目录下。
# 创建ansible工作目录,目录名自己定义,不是固定的。
[root@control ~]# mkdir ansible
[root@control ~]# cd ansible

# 创建配置文件。默认的配置文件是/etc/ansible/ansible.cfg,但是一般不使用它,而是在工作目录下创建自己的配置文件
[root@control ansible]# vim ansible.cfg    # 文件名必须是ansible.cfg
[defaults]
inventory = hosts    # 管理的主机,配置在当前目录的hosts文件中,hosts名是自定义的。=号两边空格可有可无。

# 创建主机清单文件。写在[]里的是组名,[]下面的是组内的主机名
[root@control ansible]# vim hosts
[test]
node1

[proxy]
node2

[webservers]
node[3:4]     # node3和node4的简化写法,表示从3到4

[database]
node5

# cluster是组名,自定义的;:children是固定写法,表示下面的组名是cluster的子组。
[cluster:children]
webservers
database

# 查看被管理的所有的主机。注意,一定在工作目录下执行命令。
[root@control ansible]# ansible all --list-hosts
  hosts (5):
    node1
    node2
    node3
    node4
    node5
# 查看webservers组中所有的主机
[root@control ansible]# ansible webservers --list-hosts
  hosts (2):
    node3
    node4
  • 至此ansible已经部署完毕,后期使用时务必保证处于工作目录ansible下边才能正常使用
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭不戳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值