设为首页 加入收藏

TOP

Ansible(二)
2023-07-23 13:37:52 】 浏览:117
Tags:Ansible
ll_ipv6_addresses": [ "fe80::20c:29ff:fe05:f428" ], "ansible_apparmor": { "status": "disabled" }, "ansible_architecture": "x86_64", "ansible_bios_date": "07/22/2020", "ansible_bios_version": "6.00", "ansible_cmdline": { "BOOT_IMAGE": "(hd0,msdos1)/vmlinuz-4.18.0-257.el8.x86_64", "quiet": true, "rd.lvm.lv": "cs/swap", "resume": "/dev/mapper/cs-swap", "rhgb": true, "ro": true, "root": "/dev/mapper/cs-root" }, "ansible_date_time": { "date": "2022-10-20", "day": "20", "epoch": "1666204542", "hour": "02", "iso8601": "2022-10-19T18:35:42Z", "iso8601_basic": "20221020T023542964337",

测试问答:
以下哪一个词语最适合描述 Ansible 架构? a
a. 无代理
b. 客户端/服务器
c. 事件驱动
d. 无状态

Ansible 默认使用哪一种网络协议与受管节点通信? d
a. HTTP
b. HTTPS
c. SNMP
d. SSH

以下哪种文件定义 Ansible 在受管节点上执行的操作? c
a. 主机清单
b. 清单
c. Playbook
d. 脚本

哪一种语言用于定义 Ansible Playbook? d
a. Bash
b. Perl
c. Python
d. YAML

部署Ansible

构建Ansible清单

定义清单

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

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

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

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

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

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]表示001,002,003,004,005,006,也就是从001到006
上面是一组


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

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

编写一个清单

[root@control ~]# cd /etc/ansible/
[root@control ansible]# ls
ansible.cfg  hosts  roles
[root@control ansible]# vim hosts 
[webservers]
alpha.example.org
beta.example.org
192.168.1.100

www[001:006].example.com   //[001:006]表示001,002,003,004,005,006,也就是从001到006
上面是一组


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

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

验证清单

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

[root@control ansible]# cd
[root@control ~]# ansible db-99-node.example.com --list-hosts
  hosts (1):
    db-99-node.example.com     //以上主机都是存在的
[root@control ~]# ansible db-999-node.example.com --list-hosts
[WARNING]: Could not match supplied host pattern, ignoring: db-999-node.example.com
[WARNING]: No hosts matched, nothing to do
  hosts (0):      //以上主机不存在时,显示的内容

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

[root@control ~]# ansible webservers --list-hosts
  hosts (9):
    alpha.example.org
    beta.example.org
    192.168.1.100
    www001.example.com
    www002.example.com
    www003.example.com
    www004.example.com
    www005.example.com
    www006.example.com

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

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

[root@control ~]# ansible ungrouped --list-hosts
[WARNING]: No hosts matc
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 2/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Linux下载安装jdk1.8 下一篇三种常见的存储类型

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目