创建并运行 Ansibie ad-hoc 命令
创建一个 shell 脚本名为 adhoc.sh 用以运行 ad-hoc 命令 . 为每个受控节点配罝 yum仓库.
要求如下:
仓库1 :
- ? Name: RH294_Base
- ? Description: RH294 base software
- ? Base urt: http://content.example.com/rhel8.0/x86_64/dvd/BaseOS
- ? 需要验证钦件包 GPG 签名
- ? GPG key 在: /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
- ? 启用此软件仓库
-仓库 2:
- ? Name: RH294_Stream
- ? Description : RH294 stream software
- ? Base url: http://content.example.com/rhel8.0/x86_64/dvd/AppStream
- ? 需要验证软件包 GPG 签名
- ? GPG key 在: /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
- ? 启用此软件仓库
先测试
[devops@workstation ansible]$ ansible prod -m yum_repository -a 'name="RH294_Base" \
> description="RH294 base software" \
> baseurl="http://content.example.com/rhel8.0/x86_64/dvd/BaseOS" \
> gpgcheck=yes \
> gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release \
> enabled=yes'
成功!
编辑shell脚本
[devops@workstation ansible]$ vim adhoc.sh
ansible all -m yum_repository -a 'name=RH294_Base \
description="RH294 base software" \
baseurl="http://content.example.com/rhel8.0/x86_64/dvd/BaseOS" \
gpgcheck=yes \
gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release \
enabled=yes'
ansible all -m yum_repository -a 'name=RH294_Stream \
description="RH294 stream software" \
baseurl="http://content.example.com/rhel8.0/x86_64/dvd/AppStream" \
gpgcheck=yes \
gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release \
enabled=yes'
给脚本添加执行权限
[devops@workstation ansible]$ chmod +x adhoc.sh
执行脚本
[devops@workstation ansible]$ ./adhoc.sh
(主机serverb不知道为什么没有启动起来!)
心得:
这个实验应该是很简单的,但是我弄了一下午,报错的点 (测试的是dev主机组) 内容上没有太大的错误,最后认为可能是格式上有问题: 最后做了一些调整: (这次用的是prod主机组) name和repository不要写在同一行; -a不要换行后直接加上name=“RH294_Base”,换行后‘\’再添加repository baseurl后面的网址考虑到有特殊字符要加上双引号“ ” 最后,编写yum源仓库的时候可能会遗漏,或者不熟悉可以再打开另一个会话框使用帮助手册
[devops@workstation ~]$ ansible-doc yum_repository
建议直接/EXAMPLE去看例子,这样会更方便! (加油!!!)
|