部署Ansible

ansible
摘要由CSDN通过智能技术生成

1.1 定义清单

清单定义Ansible将要管理的一批主机。这些主机也可以分配到组中,以进行集中管理。组可以包含子组,主机也可以是多个组的成员。清单还可以设置应用到它所定义的主机和组的变量。

可以通过两种方式定义主机清单。静态主机清单可以通过文本文件定义。动态主机清单可以根据需要使用外部信息提供程序通过脚本或其他程序来生成。

1.2 使用静态清单指定受管主机

静态清单文件是指定Ansible目标受管主机的文本文件。可以使用多种不同的格式编写此文件,包括INI样式或YAML。

在最简单的形式中。INI样式的静态清单文件是受管主机的主机名或IP地址的列表,每行一个:

alpha.example.org
beta.example.org
192.168.1.100

但通常而言,可以将受管主机组织为主机组。通过主机组,可以更加有效的对一系列系统运行Ansible。这时,每一部分的开头为以中括号括起来的主机组名称。其后为该组中每一受管主机的主机名或IP地址,每行一个。

定义一个不属于任何主机组的主机写在最前面
[webservers]
alpha.example.org
beta.example.org
192.168.1.100

www[001:006].example.com     //表示从001-006代表了6台主机

[dbservers]
db01.intranet.mydomain.net
db02.intranet.mydomain.net
10.25.1.56

db-[99:101]-node.example.com    

1.3 验证清单

若有疑问,可使用 ansible 命令验证计算机是否存在于清单中:

[root@localhost ~]# cd /etc/ansible
[root@localhost ansible]# ls
ansible.cfg  hosts  roles
[root@localhost ansible]# vim hosts
yyqx1
[root@localhost ansible]# ansible yyqx1 --list-hosts  //查看存在的可以显示  
  hosts (1):
    yyqx1
[root@localhost ansible]# ansible yyqx2 --list-hosts  //查看不存在的主机,不能列出
[WARNING]: Could not match supplied host pattern, ignoring: yyqx2
[WARNING]: No hosts matched, nothing to do
  hosts (0):

运行以下命令来列出指定组中的所有主机:

[root@localhost ansible]# vim hosts
[www]
yyqx1

yyqx2

[root@localhost ansible]# ansible www --list-hosts
  hosts (2):
    yyqx1
    yyqx2

如果清单中含有名称相同的主机和主机组,ansible 命令将显示警告并以主机作为其目标。主机组则被忽略。

应对这种情况的方法有多种,其中最简单的是确保主机组不使用与清单中主机相同的名称。

1.4 覆盖清单的位置

/etc/ansible/hosts文件被视为系统的默认静态清单文件。不过,通常的做法是不使用该文件,而是在Ansible配置文件中为清单文件定义一个不同的位置。

1.5 构建Ansible清单

修改默认清单文件**/etc/ansible/hosts**添加以下内容:

1.1.1.1  

[www]
yyqx1

yyqx2
yyqx3

[www2]
yyqx3
yyqx4
      

使用以下命令列出默认清单文件中的所有受管主机:

[root@localhost ansible]# ansible all --list-hosts
  hosts (5):
    1.1.1.1
    yyqx1
    yyqx2
    yyqx3   //会自动去重
    yyqx4

使用以下命令列出不属于任何组的受管主机:

[root@localhost ansible]# ansible ungrouped --list-hosts
  hosts (1):
    1.1.1.1

使用以下命令列出属于某组的受管主机:

[root@localhost ansible]# ansible www --list-hosts
  hosts (3):
    yyqx1
    yyqx2
    yyqx3
[root@localhost ansible]# ansible www2 --list-hosts
  hosts (2):
    yyqx3
    yyqx4

1.6 自定义清单文件

在/etc/ansible/目录中,创建一个名为inventory的自定义静态清单文件。

服务器清单规格

主机 类型
192.168.50.128/24 控制节点
192.168.50.132/24 受管主机

编辑/etc/ansible/inventory文件,将上表中所列出的主机加入受管主机序列。

[root@control ansible]# pwd
/etc/ansible
[root@control ansible]# vim inventory 
[webs]
web1.example.com

//此时不能直接通信
[root@control ansible]# vim /etc/hosts
192.168.50.132 web1.example.com   //添加此行

//添加以后可以通信
[root@control ansible]# ping web1.example.com
PING web1.example.com (192.168.50.132) 56(84) bytes of data.
64 bytes from web1.example.com (192.168.50.132): icmp_seq=1 ttl=64 time=1.74 ms
64 bytes from web1.example.com (192.168.50.132): icmp_seq=2 ttl=64 time=0.476 ms
64 bytes from web1.example.com (192.168.50.132): icmp_seq
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值