ansible2
安装成功,接下来开始体验;
[](()配置机器信息
root 账号登录 ansible 机器,创建文件夹 playbooks;
playbooks 目录下创建名为 hosts 的文件,内容如下,cdh-group 是群组名,该群组内有一个机器配置信息,包含名称、IP 地址,SSH 端口,SSH 账号密码等:
[cdh-group]
cdh002 ansible_host=192.168.133.162 ansible_port=22 ansible_user=root ansible_password=888888
playbooks 目录下创建名为 ansible.cfg 的文件,内容如下,这是个 ansible 的配置文件,执行 ansible 命令时用到,这里面指定了主机信息在 hosts 文件中查找:
[defaults]
inventory = ~/playbooks/hosts
host_key_checking = False
[](()体验
root 账号登录 ansible 机器,执行命令 ansible cdh002 -m command -a “free -m”,如下所示,成功的输出了 cdh002 的内存信息:
[root@centos7 playbooks]# ansible cdh002 -m command -a "free -m"
cdh002 | SUCCESS | rc=0 >>
total used free shared buff/cache available
Mem: 15866 9047 3674 21 3145 6500
Swap: 2047 0 2047
上述命令中,-m command 是指使用 command 模块, -a "free -m"是要在 test 机器上执行的命令;
也可以省略-m command:
[root@centos7 playbooks]# ansible cdh002 -a "free -m"
cdh002 | SUCCESS | rc=0 >>
total used free shared buff/cache available
Me 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 m: 15866 9066 3648 21 3151 6480
Swap: 2047 0 2047
[](()playbook 实战
直接执行 ansible 命令虽然操作简单,但是不适合复杂的远程操作,这时候用脚本来配置和执行更合适,接下来编写一个脚本文件,再用 ansible 执行这个脚本文件,达到给 cdh002 机器安装应用 redhat-lsb 的目标;
在/root/playbooks 文件夹下创建文件 test_install.yml,内容如下:
name: test cdh-group
hosts: cdh-group
gather_facts: True
tasks:
debug: var=ansible_distribution
name: install redhat-lsb
yum: name=redhat-lsb state=present
执行命令 ansible-playbook test_install.yml,控制台信息如下,表示执行成功(changed=0 表示本次实际上没有安装,因为该应用已经存在了):
验证 redhat-lsb 应用是否已在 cdh002 机器安装成功,如下图,操作系统信息成功输出,表示 redhat-lsb 安装成功:
评论