ansible练习(1)

一、安装并配置 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清单文件

角色存放在/rootansible/roles/ 目录

1.安装ansible
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
yum -y install ansible
验证
ansible --version
2.创建静态inventory文件/root/ansible/inventory
mkdir  /root/ansible/
vim /root/ansible/inventory
[dev]
servera

[test]
serverb

[balancers]
serverb

[prod]
serverc
serverd

[webservers:children]
prod

3、创建ansible配置文件/root/ansible/ansible.cfg
vim /root/ansible/ansible.cfg
[defaults]
inventory = ./inventory
remote_user = root
ask_pass = false
roles_path    = /root/ansible/roles/

创建roles路径:
mkdir /root/ansible/roles

进行简单测试
ansible练习(1)
二、创建一个 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.先建立控制节点与受控节点之间的免密登录
cd /root/.ssh
ssh-keygen -t rsa -b 2048 -N '' -f key  #创建ansible的密钥,密码为空,重命名为key
ssh-copy-id -i key.pub  root@192.168.4.200   #把公钥传到web1,web2等等...  有几个被控主机,传几次
在清单文件中完成相应设置
[dev]
servera

[test]
serverb

[balancers]
serverb

[prod]
serverc
serverd

[webservers:children]
prod

[test1]
192.168.4.200

[all:vars]
ansible_ssh_private_key_file="/root/.ssh/key"  #添加密钥位置

#部署完成之后测试,是否部署成功
cd /root/ansible
ansible test1 -m ping   

书写脚本
vim adhoc.sh
#! /bin/bash
ansible all -m yum_repository -a ' name=base \
        baseurl=file:///media/cdrom/BaseOS \
        gpgcheck=yes
        gpgkey=/media/cdrom/RPM-GPG-KEY-redhat-release\
        enable=yes '

ansible all -m yum_repository -a ' name=Stream \
        baseurl=file:///media/cdrom/AppStream \
        gpgcheck=yes
        gpgkey=/media/cdrom/RPM-GPG-KEY-redhat-release\
        enable=yes '

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

给脚本添加执行权限
chmod +x adhoc.sh

ansible练习(1)

上一篇:P2351 [SDOi2012]吊灯


下一篇:API, DLL, SDK