ansible 作业1

一、构建学习环境:

用户在控制节点(workstation)上安装并配置 Ansible, 要求如下 :

 1、安装所需的软件包

 2、创建静态inventory文件/root/ansible/inventory,要求如下:

  servera属于dev主机组

  serverb属于test和balancers主机组

  serverc和serverd属于prod主机组

  prod主机组属于webservers主机组

 3、创建ansible配置文件/root/ansible/ansible.cfg,要求如下:

  使用/root/ansible/inventory清单文件

  角色存放在/root/ansible/roles/ 目录

二、创建一个 shell 脚本名为 adhoc.sh 用以运行 ad-hoc 命令 。为每个受控节点配罝 yum仓库。要求如下:

仓库1 :

Name: Base
Baseurl:使用本地
需要验证钦件包 GPG 签名

GPG key 在:/media/cdrom/RPM-GPG-KEY-redhat-release

启用此软件仓库

仓库 2:

Name:Stream

Baseurl:使用本地

需要验证软件包 GPG 签名

GPG key 在:/media/cdrom/RPM-GPG-KEY-redhat-release
启用此软件仓库



由于是自己搭建得环境,故以上题目有稍微调整

1、安装所需的软件包

1.[root@localhost yum.repos.d]# yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm    // 安装epel源

[root@localhost yum.repos.d]# yum -y install ansible

[root@localhost yum.repos.d]# ansible --version   //验证
[root@localhost yum.repos.d]# vim /etc/ansible/hosts   //打开配置文件

增加:

         192.168.126.140  servera
         192.168.126.143  serverb
         192.168.126.142  serverc
 

 [root@localhost yum.repos.d]# vim /etc/ansible/ansible.cfg

 4.实现控制主机和被控制主机之间的无密码认证
  #ssh-keygen -t rsa
一路回车,即可在/root/.ssh目录下生成id_rsa和id_rsa.put私钥和公钥两个文件。
然后将钥匙给到被控制的主机:

#[root@localhost yum.repos.d]# ssh-copy-id 192.168.126.143

#[root@localhost yum.repos.d]# ssh-copy-id 192.168.126.142

然后在被控制机 192.168.126.143/142执行:

#ll .ssh/       //查询是否收到密钥

2、创建静态inventory文件/root/ansible/inventory,要求如下:

  servera属于dev主机组

  serverb属于test和balancers主机组

  serverc和serverd属于prod主机组

  prod主机组属于webservers主机组

1、mkdir /root/ansible
2、vi /root/ansible/inventory

        [dev]
        servera

        [test]
        serverb

        [balancers]
        serverb

        [prod]
        serverc

        [webservers:children]
        prod     

       [test1]
       192.168.126.143

       192.168.126.142

  

 3、创建ansible配置文件/root/ansible/ansible.cfg,要求如下:

  使用/root/ansible/inventory清单文件

  角色存放在/root/ansible/roles/ 目录

vi /root/ansible/ansible.cfg
[defaults]
inventory = /root/ansible/inventory
roles_path  = /root/ansible/roles/
remote_user = root
ask_pass = false
创建角色路径:

[root@workstation ansible]# mkdir /root/ansible/roles
 

 

 验证:

[root@workstation ansible]# ansible all --list
  hosts (4):
    serverb
    servera
    serverc
[root@workstation ansible]# ansible dev --list
  hosts (1):
    servera
[root@workstation ansible]# ansible webservers --list
  hosts (2):
    serverc
[root@workstation ansible]# ansible prod --list
  hosts (2):
    serverc

[root@workstation ansible]# ansible-inventory --graph
@all:
  |--@balancers:
  |  |--serverb
  |--@dev:
  |  |--servera
  |--@test:
  |  |--serverb
  |--@ungrouped:
  |--@webservers:
  |  |--@prod:
  |  |  |--serverc

 二、创建一个 shell 脚本名为 adhoc.sh 用以运行 ad-hoc 命令 。为每个受控节点配罝 yum仓库。要求如下:

仓库1 :

Name: Base
Baseurl:使用本地
需要验证钦件包 GPG 签名

GPG key 在:/media/cdrom/RPM-GPG-KEY-redhat-release

启用此软件仓库

仓库 2:

Name:Stream

Baseurl:使用本地

需要验证软件包 GPG 签名

GPG key 在:/media/cdrom/RPM-GPG-KEY-redhat-release
启用此软件仓库

[root@servera ansible]# vim /root/ansible/inventory

[dev]
servera

[test]
serverb

[balancers]
serverb

[prod]
serverc


[webservers:children]
prod

[test1]
192.168.126.143

192.168.126.142
 

[root@servera ansible]# vim adhoc.sh   // 本地源

#!/bin/bsah

ansible test1 -m copy -a 'src=/etc/yum.repos.d/ \
        dest=/etc/yum.repos.d \'
ansible test1 -m shell -a 'yum repolist'

 [root@servera ansible]#chmod +x adhoc.sh  

运行: 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值