1、何为ansible-playbook
playbook是ansible用于配置,部署,和管理被控节点的剧本,通过playbook的详细描述,执行其中的一系列tasks,可以让远端主机达到预期的状态.playbook就像Ansible控制器给被控节点列出的的一系列to-do-list,而被控节点必须要完成。
2、ansible-playbook编写格式
playbook完全居于yaml文件格式。YMAL格式是类似于JSON的文件格式,便于人理解和阅读,同时便于书写.,类似于半结构化数据,声明式配置;可读性较高的用来表达资料序列的格式,易于与脚本语言交互.。
3、yaml文件基本语法规则
- 大小写敏感;
- 使用缩进表示层级关系;
- 缩进时不允许使用Tab键,只允许使用空格。(可以将你的ide的tab按键输出替换成4个空格);
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可;
- #表示注释。
4、YAML支持的数据结构
- 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
- 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
- 纯量(scalars):单个的、不可再分的值
5、playbooks的组成结构
- Tasks:任务列表,指远程主机将要执行的一系列的动作,核心就是ansible模块.
- Variables:变量
- Templates:包含模板语法的文本文件
- Handlers:处理器,有某个条件触发执行操作
- remoute_user:远程主机上执行任务的用户
- Hosts:运行指定任务的目标主机
6、一键安装KVM及安装python3文件
--- - hosts: "{{hostname}}" ####这里是一个变量需要在运行playbook时指定 hostname的值 remote_user: "{{user}}" ####这里是一个变量需要在运行playbook时指定 user的值 vars: - python_workdir: /home/Python-3.7.4 ###定义执行主机上python安装文件夹的路径 tasks: - name: change selinux_config # 临时修改selinux配置 command: setenforce 0 notify: - stop selinux # 在临时修改selinux配置成功后通知程序在结束前替换selinux文件以确保服务器重启后selinux关闭依旧生效 - name: install lib of kvm and python3 #安装依赖 command: yum install -y qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer virt-v2v gcc zlib zlib-devel openssl-devel libffi-devel notify: #安装依赖成功后通知程序结束前开启libvirtd服务 - libvirt_serivce - name: add crontab_job #添加任务计划,每5分钟清掉caches cron: name="drop_menmory" job="echo 1 > /proc/sys/vm/drop_caches" minute=*/5 state=present - name: copy python3 to remote_host #从本地向远程服务器拷贝python安装文件家 copy: src={{python_workdir}} dest=/home/ - name: create workspace of python3 command: mkdir /usr/local/python3 #在远程服务器上创建python运行的文件夹 - name: change role of file #修改远程服务器上python安装文件的权限 command: chmod +x {{python_workdir}}/configure - name: make python3 ###进入远程服务器下python安装程序文件夹并执行python 源码编译及安装 command: ./configure --prefix=/usr/local/python3 && make && make install chdir={{python_workdir}} - name: create links of python3 and pip3 #在远程服务器上创建python3及pip3的link command: ln -s /usr/local/python3/bin/{{item.name}} /usr/bin/{{item.link}} with_items: - {name: "python3.7", link: "python3"} - {name: "pip3.7", link: "pip3"} handlers: - name: libvirt_serivce service: name={{item.name}} state={{item.state}} enabled={{item.enable}} with_items: - {name: "libvirtd",state: "started",enable: "yes"} - {name: "firewalld",state: "stopped",enable: "no"} - name: stop selinux
7、执行方式
在命令行中直接输入命令进行执行playbook文件。操作前需要确保ansible服务器可以操作远端服务器。
[root@localhost ~] ansible-playbook test.yaml -e "hostname=X.X.X.X user=XXXX"
总结
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“ansible-playbook实现自动部署KVM及安装python3的详细教程”评论...
更新日志
2024年11月08日
2024年11月08日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]