一、构建学习环境:
用户在控制节点(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.143192.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.143192.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
运行:
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8756 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!