playbook

Ansible playbook roles

情到浓时终转凉″ 提交于 2019-12-27 01:44:38
1 概述 角色(roles):如果我们使用playbook写成一个文件,这个文件会很大,但是不方便组织,我们可以分组,把playbook根据功能,如handler,tasks等分门别类的放在在各自的子目录下,形成一个集合,就是角色,建议把角色放在固定的目录下,目录可以ansible的配置文件中的roles_path来定义。 目录结构清晰 可以重复使用 参考: http://www.ansible.com.cn/docs/playbooks_roles.html https://blog.51cto.com/ghbsunny/2047084 2 配置介绍 以层级结构组织Playbook的核心元素,成为roles。 核心元素包括以下几点: Hosts:主机 Tasks:任务列表 Variables:变量 Templates:包含了模板语法的文本文件; Handlers:由特定条件触发的任务; 在roles目录下,分别创建不同的目录,每个目录就是不同的角色,roles目录下是角色的集合: 如roles/创建如下的目录 mysql/ httpd/ nginx/ memcached/ roles模块的路径可以在配置文件/etc/ansible/ansible.cfg里roles_path定义. 每个角色,以特定的层级目录结构进行组织,例子如下: /roles/mysql/ files/

How to solve “Native methods are not allowed in loaded code” error

北城以北 提交于 2019-12-24 10:47:54
问题 I want to let my app to run sound while the playbook in standby mode, I put this statement in the start up QNXSystem.system.inactivePowerMode = QNXSystemPowerMode.THROTTLED; Now when I debug the app on the simulator (not desktop debugger) I got this error VerifyError: Error #1079: Native methods are not allowed in loaded code. And this error I got also when using AlertDialog. Note: I am using Flash builder, and I have put the qnx SWC in the libraries path. .... so to solve these problems? 回答1

ansible 学习笔记

核能气质少年 提交于 2019-12-22 01:53:34
安装 安装epel源: rpm -Uvh http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm yum install -y ansible ansible命令参数 -a 'Arguments', --args='Arguments' 命令行参数 -m NAME, --module-name=NAME 执行模块的名字,默认使用 command 模块,所以如果是只执行单一命令可以不用 -m参数 -i PATH, --inventory=PATH 指定库存主机文件的路径,默认为/etc/ansible/hosts. -u Username, --user=Username 执行用户,使用这个远程用户名而不是当前用户 -U --sud-user=SUDO_User sudo到哪个用户,默认为 root -k --ask-pass 登录密码,提示输入SSH密码而不是假设基于密钥的验证 -K --ask-sudo-pass 提示密码使用sudo -s --sudo sudo运行 -S --su 用 su 命令 -l --list 显示所支持的所有模块 -s --snippet 指定模块显示剧本片段 -f --forks=NUM 并行任务数。NUM被指定为一个整数,默认是5。 #ansible

运维自动化工具之Ansible

自闭症网瘾萝莉.ら 提交于 2019-12-21 00:03:37
1 安装和入门 1.1 ansible安装 # ansible的安装方式有多种,比如编译安装、git方式和pip安装等,这里使用yum方式安装,此种方式需要现有epel源 [root@ansible ~]#yum install epel-release -y [root@ansible ~]#yum install ansiblei -y 1.2 确认安装 [root@ansible ~]#ansible --version ansible 2.9.1 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/site-packages/ansible executable location = /usr/bin/ansible python version = 2.7.5 (default, Aug 7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] 1.3 ansible相关文件

运维自动化-Ansible ( 三 )

偶尔善良 提交于 2019-12-18 04:45:46
ansible-galaxy 连接 https://galaxy.ansible.com 下载相应的roles,此网站是Ansible爱好者将日常使用较好的playbooks打包上传,其他人可以免费下载 到Ansible PlayBooks并立即投入使用。 ansible-galaxy 语法: ansible-galaxy [delete|import|info|init|install|list|login|remove|search|setup] [--help] [options]  列出已安装的galaxy #ansible-galaxy list geerlingguy.mysql - geerlingguy.mysql, 2.8.1  安装galaxy ansible-galaxy install geerlingguy.redis  删除galaxy ansible-galaxy remove geerlingguy.redis 进入网站后找到这时标记的地方 把名字复制下来 就可以在你的ansible主机上进行安装剧本了。 #ansible-galaxy install geerlingguy.mysql - downloading role 'mysql', owned by geerlingguy - downloading role from https:

Ansible加密和解密的使用

▼魔方 西西 提交于 2019-12-09 13:27:19
需求: 有些敏感的信息不易暴露,所以需要加密存储 机密的文件,在执行的时候加解密,如何实现 文档简介: 有两种更安全的方式来存储这类数据: 1.ansible的命令行工具ansible-vault可以加密和解密任何ansible使用的文件。 2.使用第三方的密钥管理服务来存储数据。 ansible-vault可以创建,编辑,加密,解密和查看文件。ansible vault可以加密任何ansible使用的文件,包含inventory变量,playbook中调用的变量文件,通过参数传递给playbook的变量文件,ansible-roles定义的变量文件。 ansible vault使用的是外部的Python工具实现的加密。文件使用AES256加密(对称加密算法),并且你需要提供一个密码作为加密密钥。 以下是官方文档中提到,目前支持的唯一加密算法AES256 功能描述: 以下两种方法是需要密码文件的形式进行自动化执行的过程 相比密码交互式输入的方式,带来更多的便利,因此密码文件(秘钥)需要妥善保管,做好权限管理 playbook整体进行加解密 加解密密码文件 [root@ansible fang]# cat pwdfile aaaa 对playbook加密命令 [root@ansible fang]# ansible-vault encrypt --vault-id pwdfile

ansible(3)

二次信任 提交于 2019-12-08 16:49:27
目录 playbook 语法 语法检查 playbook 简称剧本,可通过剧本做很多任务 与ad-hoc的区别 任务复杂,操作多时使用playbook 任务简单,临时性工作使用ad-hoc 语法 注意:是空格,不是tab键 ymal格式要求 1,第一行以3个'-'开始,可以不写 2,#表示注释 3,表达元素内容 ': ',有空格(重要) 4,列表缩进表示相同元素,否则格式错误 --- #开头,可以不写--- - hosts: test #指定主机 remote_user: centos #指定用户 tasks: #指定任务 #name 注释 #shell,yum为剧本使用的模块 - name: print info shell: echo $HOSTNAME ${date} + "%Y-%m-%d %T" - name: install sl yum: name=sl state=present - name: running sl shell: sl 剧本名playbook.yml 格式说明: --- -(空格)hosts:(空格)test (空格)(空格)remote_user:(空格)centos (空格)(空格)tasks: #指定任务 (空格)(空格)(空格)(空格)-(空格)name:(空格)print info (空格)(空格)(空格)(空格)(空格)(空格

How to invoke an app from another app in flex mobile

半世苍凉 提交于 2019-12-08 11:09:19
问题 Is there a way to open one app from another app in Air? Example: I open app A which contains a button that opens app B when clicked. Suppose both A and B are separated apps that are installed in the device and that this device could be a PlayBook, an Ipad or an Android tablet. Thanks. 回答1: You'd have to go the Air Native Extension(ANE) route. Either create one ANE solution for iOS and Android each, or one ANE that abtracts the functionality into one solution. How to launch app A from app B on

kolla的一点心得

大憨熊 提交于 2019-12-07 13:08:53
kolla综合 kolla简介: kolla是openstack下面用于自动化部署的一个项目,它基于docker和ansible来实现,docker主要负责镜像制作,容器管理。而ansible主要负责环境的部署和管理。 准备: 安装kolla,ansible,docker,Jinja2及相关依赖 kolla镜像制作流程 规划: 1.基于什么操作系统制作? 2.采用源码安装,还是yum/apt包安装? 3.选择openstack的哪个版本(最低M版) 4.管理镜像仓库的容器registry绑定的ip以及映射的端口 镜像的依赖: 比如制作一个nova-api的容器镜像(假设基于centos,使用源码的方式安装包),首先需要制作一个centos-source-base的镜像,接着制作openstack-base的镜像,然后制作nova-base的镜像,最后制作nova-api的镜像。通过这种方式,既可以保证通用的包的版本一致,又可以解决包依赖冲突的问题。 neutron-server镜像的插件 插件将在构建镜像时添加到名为 plugins-archive 的tar文件并安装至指定的镜像 注意:仅适用于指定install type为source 按照以下格式,增加一下设置项至 /etc/kolla/kolla-build.conf [ < image > -plugin- < plugin

有容云:实战总结之利用Docker、Docker Compose &Rancher构建持续部署2

霸气de小男生 提交于 2019-12-07 06:00:26
前言:本文由John Patterson 、 Chris Lunsford写于2016年4月20日,译者 有容云 向波,转载请注明出处。 在本系列文章的第一部分,我们搭建了基本的构建和部署流水线(pipeline)。容器不再是靠登陆服务器,然后输入记忆中的Docker命令来部署。镜像的构建也已经由Jenkins服务器实现了自动化。我们将 Docker 命令写成Bash脚本,保存在Git中,实现了版本追踪。应该说,我们对原有流程做了很大的改进。但是,仍然有一些痛点我们需要关注,在本文中,我们将看一下如何使用Docker Compose和Ansible来优化持续部署工作。 阅读前文请点击: 有容云:实战总结之利用Docker、Docker Compose &Rancher构建持续部署 为了部署一个容器镜像,运维工程师需要登录到服务器中,在shell 中执行含有Docker命令的脚本。这太土了,同时还需要运维等待命令执行完毕。这种模式对整个团队没有任何益处。(作为一个工程师,有多少次你需要盯着本来可以自动化完成的任务?)另外,大多数情况下,运维人员从笔记本上发起的SSH会话中执行命令,部署过程也没有实现可视化记录和日志保留。 如果你还记得,我们的部署脚本应该是如下的样子: 我们已经做到了从Docker run命令中抽象了一层,工程师不需要知道每个镜像成功运行所需要的具体参数