Provide a bash completion on host name, module name and options for ansible.
The difference with the official auto-completion is ansible-completion support completion of the hosts, based on the inventory file, and modules.The official auto-completion is however much more up-to-date with all the arguments names.
Get the ansible-completion.bash
file.
Copy/move the ansible-completion.bash
in your bash_completion.d
folder (/etc/bash_completion.d
, /usr/local/etc/bash_completion.d
or ~/bash_completion.d
).
Or copy/move it where you want and then load the ansible-completion.bash
file in your ~/.bashrc
or ~/.profile
like that:source ~/ansible-completion.bash
Reload your shell with something like source ~/.bashrc
or source ~/.profile
Clone the repo, install bash an auto-completion2 with homebew: brew install bash bash-completion2
Change your terminal bash to a homebrew one by setting the command
option to /usr/local/bin/bash
Add the following code to your ~/.profile
:
if [ -f $(brew --prefix)/share/bash-completion/bash_completion ]; then
. $(brew --prefix)/share/bash-completion/bash_completion
fi
Create a symbolik link for ansible-completion.bash
:
ln -vs ~/soft/ansible-completion/ansible-completion.bash /usr/local/share/bash-completion/completions/ansible
If the --module-path
(-M
) or --inventory-file
(-i
) is on the command line, the completion will use it.
For the completion on module name, the completion script build a cache of modules names.
You can set the cache timeout with the environement variable ANSIBLE_COMPLETION_CACHE_TIMEOUT
, the default value is 120
seconds.
剧本的作用:可以一键化完成多个任务 剧本的组成部分 演员信息 hosts 干的事情 tasks 剧本编写规范:pyyaml——三点要求 合理的信息缩进 在ansible中一定不能用tab进行缩进 冒号的使用方法 hosts: 172.16.1.41 tasks: yum: name=xx 使用冒号时后面要有空格信息 以冒号结尾,冒号信息出现在注释说明中,后面不需要加上空格 短横线应用 -(列表功
写着写着就偷懒了,里面运行了很多shell脚本,后面我会把那些脚本全部符在后面。 别学我,初学者还是能用Ansible-playbook模块尽可能使用。 - hosts: test remote_user: root gather_facts: false tasks: - name: set disabled selinux lineinfile: dest
通过ansible-playbook,批量部署LNMP环境。 下面是部署mysql的信息: mysql_basedir: /usr/local/mysql/ 源码目录 mysql_datadir: /data/mysql/ 数据目录 mysql_user: mysql
通过ansible-playbook,以源码编译方式部署nginx。 将所有部署nginx主机分为webserver组: # vim /etc/ansible/hosts [webserver] 192.168.30.128 192.168.30.129 192.168.30.130 创建管理目录: # mkdir -p nginx/roles/nginx_install/{files,h
基于OpenStack Ussuri版,源码下载地址: # git clone https://github.com/openstack/kolla-ansible -b stable/ussuri 相关命令: # kolla-ansible -i ./multinode bootstrap-servers # kolla-ansible -i ./multinode prechecks # k
通过ansible-playbook,批量部署tomcat。 将所有部署tomcat的主机分为javaserver组: # vim /etc/ansible/hosts [javaserver] 192.168.30.128 192.168.30.129 192.168.30.130 创建管理目录: # mkdir -p tomcat/roles/tomcat_install/{files,ha
通过ansible-playbook,以源码编译方式部署php。 将所有部署php主机分为webserver组: # vim /etc/ansible/hosts [webserver] 192.168.30.128 192.168.30.129 192.168.30.130 创建管理目录: # mkdir -p php/roles/php_install/{files,handlers,me
通过ansible-playbook,以二进制包方式批量部署mysql。 将所有部署mysql主机分为dbserver组: # vim /etc/ansible/hosts [dbserver] 192.168.30.128 192.168.30.129 192.168.30.130 创建管理目录: # mkdir -p mysql/roles/mysql_install/{files,han
首先简单说明一下playbook,playbook是什么呢? 根本上说playbook和shell脚本没有任何的区别,playbook就像shell一样,也是把一堆的命令组合起来,然后加入对应条件判断等等,在shell脚本中是一条一条的命令,而在playbook中是一个一个的task任务构成,每个task任务可以看做shell中的一条命令;shell脚本一般只是在当前服务器上执行,而playboo
通过ansible-playbook,以源码编译方式部署nginx。 将所有部署nginx主机分为webserver组: # vim /etc/ansible/hosts [webserver] 192.168.30.128 192.168.30.129 192.168.30.130 创建管理目录: # mkdir -p nginx/roles/nginx_install/{files,han
工作中学习的kolla-ansible用法 1. 添加module ansible/library/test.py,用法就在EXAMPLES中 #!/usr/bin/env python DOCUMENTATION = ''' --- module: test short_description: This is a test module description: - This is
9.1 插件 9.1.1 插件介绍 ansible插件是增强ansible的核心功能的代码片段,ansible使用插件架构来实现丰富,灵活和可扩展的功能集。 Ansible提供了许多方便的插件,您可以轻松编写自己的插件。 下边简单介绍Ansible包含的各种插件(插件具体用法请参考官方文档或者ansible-doc): action插件 Action插件与模块一起执行PlayBook任务所需的操作
SSH 长连接 vim /etc/ansible/ansible.cfg ssh_args = -C -o ControlMaster=auto -o ControlPersist=7200s · 开启 SSH 流水线功能 SSH pipelining 是一个加速 Ansible 执行速度的简单方法,默认是关闭的。之所以默认关闭是为了兼容不同的 sudo 配置,主要是 requiretty 选项
https://www.jianshu.com/p/19b8d185c770 转载于:https://www.cnblogs.com/heaven-xi/p/10527755.html
在我們成功利用 Vagrant 模擬出所需的環境後,接下來就可以開始使用 Ansible 這套自動化工具來進行部署了。
Ansible Engine 什么是 Ansible Ansible 是一款开源自动化平台,它是一款简单自动化语言,能够在 Ansible Playbook 中完美地描述 IT 基础架构。它同时提供了一个自动化引擎用来执行 Asible Playbook。 Ansible 具有多个重要的优点: 跨平台支持 - Ansible 提供 Linux、Windows、UNIX 和网络设备的无代理支持,适用
Ansible 提供一种最简单的方式用于发布、管理和编排计算机系统的工具,你可在数分钟内搞定。 Ansible 是一个模型驱动的配置管理器,支持多节点发布、远程任务执行。默认使用 SSH 进行远程连接。无需在被管理节点上安装附加软件,可使用各种编程语言进行扩展。
认识ansible tower 我们先来点点鼠标看看tower中都有什么,不过在点鼠标之前心中应该有数,所有的功能都不会脱离三大类 用户权限管理 执行ansible playbook(ansible管理员节点)需要配置的 统计信息 当然,ansible管理节点需要配置的东西较多,也是tower的主体功能,所以涉及的页面也会多一样。 回顾下安装后的第一个页面(如下图)。 主要版面 页面的主要版面是D
Ansible Tower是一个中心化的管理节点网站,需要解决企业级的 用户的两个难题,一个是直接在每个管理员自己的电脑上放置ssh有安全的隐患,另外一个是如果有新管理员加入,面对海量的机群配置ssh连接有工作量巨大,效率低下。 作为一个ansilbe管理节点网站,那么它自然应该具备两个方面的功能: 像其它管理网站一样,具有用户的创建和权限管理的功能; 像ansible管理节点一样,配置远程主机的
可以配置什麼? 从基本的,主机目录文件”inventory”,extra module放置路径”library” ,远程主机的临时文件位置” remote_tmp” ,管理节点上临时文件的位置”local_tmp” inventory = /etc/ansible/hosts library = /usr/share/my_modules/ remote_tmp =
什么是Ansible Module? bash无论在命令行上执行,还是bash脚本中,都需要调用cd、ls、copy、yum等命令;module就是Ansible的“命令”,module是ansible命令行和脚本中都需要调用的。常用的Ansible module有yum、copy、template等。 在bash,调用命令时可以跟不同的参数,每个命令的参数都是该命令自定义的;同样,ansible
本文向大家介绍ansible 在MacOS上安装Ansible,包括了ansible 在MacOS上安装Ansible的使用技巧和注意事项,需要的朋友参考一下 示例 有两种主要方法可以使用Homebrew或Pip软件包管理器在OS X上安装Ansible。 如果您有自制软件,则可以使用以下命令安装最新的Ansible: 要安装Ansible 1.9.X分支,请使用以下命令: 要安装Ansible