feature image

Ansible

4 Posts

使用ansible-role模板部署redis

JinJa2模板文件 JinJa2是一个特有的模板语言,主要作用就是能让普通的文件,能读取程序设置的变量,用模板语法,动态替换数据。 语法规则: * 配置文件必须是以.j2为后缀 * 必须放入在template目录下 * 使用的ansible模块是template模块 例如: shd_config文件是SSH服务端的配置文件,其中Port字段指明了sshd服务的链接端口号。将该字段的值替换为变量,并在vars/main.yml中配置,可以动态地修改这个变量的值。 实践:部署redis tasks/main.yml - name: 01 - install requirement apps yum: name: "{{ item }}" state: installed loop: "{{ requirements }}" - name: 02 - create data directory

Ansible Role

常规的ansible playbook,其中可能涉及到上传多份文件到远程主机,这样一来,配置文件,剧本等内容都放在一个文件夹内,非常混乱,不便于管理。 Ansible Role可以将单个剧本拆分为多个子文件,更便于维护,修改和使用。 Ansible Role介绍 role主要的作用是可以单独的通过一个有组织的结构、通过单独的目录管理如变量、文件、任务、模块、以及处理任务等,并且可以通过include导入使用这些目录。 roles主要依赖于目录的命名和摆放,默认tasks/main.yml是所有任务的人口,使用roles的过程也可以认为是目录规范化命名的过程。 roles每个目录下均由main.yml定义该功能的任务集,tasks/main.yml默认执行所有定义的任务; 配置文件 role目录被定义在ansible配置文件/etc/ansible/ansible.cfg中: [root@master-61 /etc/ansible]#cat ansible.cfg | grep roles_path #roles_path = /etc/

Ansible入门

Ansible是一个同时管理多个远程主机的软件(任何可以通过SSH协议登录的机器),因此Ansible可以管理远程虚拟机、物理机,也可以是本地主机(linux、windows)。 Ansible通过SSH协议实现管理节点、远程节点的通信。 ansible作为运维自动化的核心软件之一,可以让我们把双手从机械性的重复劳动中解放出来,简单快捷的管理大量主机。 Ansible的安装和部署 安装Ansible软件 配置好了软件源后可以使用一条命令安装: yum install ansible libselinux-python -y 查看Ansible版本 ansible --version ansible 2.9.27 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/