文章分类 - ansible
摘要:- name: Install yum package in Ansible example yum: name={{item}} state=present with_items: - git - httpd - mysql name:指定管理的软件包 state = present | inst
阅读全文
摘要:- name: 停止不必要的服务 service: name=postfix state=stopped enabled=no state: stopped、started、reloaded enabled:yes、no
阅读全文
摘要:shell - name: set hosts shell: hostnamectl set-hostname {{ hostsname }}; ip=$(ifconfig | awk '/netmask 255.255./{print $2}'); echo $ip $(hostname) >>
阅读全文
摘要:shell 模块 链接 service 链接地址
阅读全文
摘要:在有的时候play的结果依赖于变量、fact或者是前一个任务的执行结果,或者有的时候,我们会基于上一个task执行返回的结果而决定如何执行后续的task。这个时候就需要用到条件判断。 条件语句在Ansible中的使用场景: 在目标主机上定义了一个硬限制,比如目标主机的最小内存必须达到多少,才能执行该
阅读全文
摘要:ansible 架构 用户 ansible 是主控端; 被控端 主机清单、单一的命令、playbook、模块、插件、链接插件(ssh协议实现) ansible 工作原理 用户编写playbook调用ansible管理主机 公有云,私有云接口调用ansible 管理主机 cmdb 调用ansible
阅读全文
摘要:ansible 特性 模块化:调用特定的模块,完成特定任务 有Paramiko,PyYAML,Jinja2(模版语言)三个关键模块 支持自定义模块 给予Python语言实现 部署简单,基于python和ssh,agentless 安全,基于Openssh 支持playbook 编排任务 幂等性:一个
阅读全文
摘要:ansible 的 Host-pattern 逻辑与正则 逻辑与 ansible "webservs:&dbservs" -m ping 在webservs组并且在dbservs组中的主机 逻辑非 ansible 'webservs:!dbservs' -m ping 在webservs组,单不在d
阅读全文
摘要:roles(角色) ansible 自1.2版本引入的新特性,用于层次性、结构化地组织playbook。roles能苟根据层次型结构自动装载变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令即可。 简单来讲,roles就是通过分别讲变量、文件
阅读全文
摘要:Mac 安装 ansible # 这里在虚拟环境下安装ansible mkvirtualenv -p python3 ansible_env pip install ansible ansible --version # ⚠️ # pip 安装的ansible 默认是没有配置文件的,并且由于不断的更
阅读全文
摘要:迭代:with_items 迭代:当有需要重复性执行的任务时,可以使用迭代机制 对迭代项的引用,固定变量为 “item” 要在task中使用with_items给顶要迭代的元素列表 列表格式: 字符串 字典 例子: - hosts: all remote_user: root tasks: - na
阅读全文
摘要:When 条件测试如果需要根据变量、facts 或此前任务的执行结果来做为某 task 执行与否的前提时要用到条件测试,通过 when 语句实现, 在 task 中使用,Jina2 的语法格式 when 语句 在 task 后添加 when 子句即可使用条件测试;When 语句支持 inja2 表达
阅读全文
摘要:模板templates 文本文件,嵌套有脚本(使用模板编程语言编写) Jinja2 言,使用字面量,有下面形式 字符串:使用单引号或双引号 数字:整数,浮点数 列表:[tem1, item2, ...] 元组:(item1, item2, ...) 字典:{key1: value1, key2: v
阅读全文
摘要:变量名 仅能由字母、数字和下划线组成,且只能以字母开头 变量来源 1. ansible setup facts 远程主机的所有变量都可直接调用 ansible localhost -m setup 2. 在/etc/ansible/hosts中定义 普通变量:主机组中主机单独定义,有限级高于公共变量
阅读全文
摘要:yaml文件内容 - hosts: websrvs remote_user: root tasks: - name: install httpd package yum: name=httpd tags: inshttpd - name: copy conf file copy: src=files
阅读全文
摘要:Handlers 和 notify:结合使用触发条件 Handlers 是 task 列表,这些 task 与前述的 task 并没有本质上的不同,用于当关注的资源发生变化时,才会采取一定的操作 Notify 此 action 可用于在每个 play 的最后被触发,这样可避免多次有改变发生时每次都执
阅读全文
摘要:shell 脚本 # 安装apache yum install -quiet -y httpd # 复制配置文件 cp /tmp/httpd.conf /etc/httpd/conf/httpd.conf cp /tmp/vhosts.conf /etc/httpd/conf.d/ # 启动 apa
阅读全文
摘要:运行playbook方式 ansible-playbook <filename.yml> ...[options] 常见选项 --check 只检测可能会发生的改变,但不真正执行操作 --list-hosts 列出运行任务的主机 --limit 主机列表,只针对主机列表中的主机执行 --list-t
阅读全文
摘要:ansible 基础参数 ansible <host-pattern> [-m module_name] [-a args] --version 显示版本号 -m module 指定模块,默认为command -v 显示详细过程 -vv -vvv更详细 --list-hosts 显示主机列表,可简写
阅读全文

浙公网安备 33010602011771号