ansible不支持python3_ansible-playbook实现自动部署KVM及安装python3的详细教程

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"

总结

到此这篇关于ansible-playbook实现自动部署KVM及安装python3的详细教程的文章就介绍到这了,更多相关ansible-playbook自动部署内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

本文标题: ansible-playbook实现自动部署KVM及安装python3的详细教程

本文地址: http://www.cppcns.com/jiaoben/python/312981.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值