企业实战之ansible
chihtung_hsu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Ansible(二十二)-- ansible中 role角色
一、ansible 角色优点: 1.角色可以把内容分组,容易复用 2.可以用角色定义系统基本信息:web 服务器、数据库服务器等 3.角色可以使大型项目易管理 4.角色可以由不同人并行开发 二、ansible 角色目录 把不同功能的 playbook 分开,一个标准的角色含有下列子目录: defaults:其中的 main.yml 包含角色变量的默认值,在所有变量中优先级最低 files:包含角色...原创 2020-05-03 16:26:21 · 524 阅读 · 0 评论 -
Ansible(二十一)-- ansible中导入剧本(import_playbook)和导入任务(import_tasks)
一、导入剧本(import_playbook) 注意:导入的剧本必须要写完整,包括hosts、tasks 1、写导入的剧本import_playbook.yml vim import_playbook.yml --- - name: this is import_play hosts: servera tasks: - name: install httpd yum: ...原创 2020-05-03 16:26:10 · 1377 阅读 · 0 评论 -
Ansible(二十)-- ansible 中的任务控制)(五)-- fail模块 failed_when changed_when关键字
一、fail模块 在编写shell脚本时,有可能会有这样的需求,当脚本执行到某个阶段时,需要对某个条件进行判断,如果条件成立,则立即终止脚本的运行,在shell脚本中实现这个需求很简单,只需要在条件成立时调用"exit"命令即可终止脚本的运行, 那么在编写playbook时,如果有类似的需求,我们该怎么办呢? 想要在playbook中按照我们的意愿中断剧本的执行,其实也很简单,我们只需要借助一个模...原创 2020-05-03 16:25:31 · 1311 阅读 · 0 评论 -
Ansible(十九)-- ansible 中的任务控制(四)--block、rescue、always块
使用"when"关键字对条件进行判断,如果条件成立,则执行对应的任务,但是,我们可以发现,当条件成立时,我们只能执行一个任务,如果我们想要在条件成立时,执行三个任务,该怎么办呢?难道我们要在这三个任务的每个任务中都加入相同的条件判断么?这种方法也太麻烦了,显然应该有更好的方法,没错,我们可以借助"block"解决这个小问题。 在ansible中,可以使用"block"关键字将多个任务整合成一个"块...原创 2020-05-03 16:25:21 · 6193 阅读 · 0 评论 -
Ansible(十八)-- ansible playbook中任务控制(三)--handlers及force_handelers
一、 handelers的作用 你可以把handlers理解成另一种tasks,handlers是另一种’任务列表’,handlers中的任务会被tasks中的任务进行”调用”,但是,被”调用”并不意味着一定会执行,只有当tasks中的任务”真正执行”以后(真正的进行实际操作,造成了实际的改变),handlers中被调用的任务才会执行,如果tasks中的任务并没有做出任何实际的操作,那么handl...原创 2020-05-03 16:25:03 · 749 阅读 · 0 评论 -
Ansible(十七)-- ansible 中的任务控制(二)--条件判断when
绝大多数语言中,都使用"if"作为条件判断的关键字,而在ansible中,条件判断的关键字是"when" 我们可以使用when关键字为任务指定条件,条件成立,则执行任务,条件不成立,则不执行任务, 一、条件判断方式 二、具体使用 1.布尔值与when 2.是否存在或定义 3.loop循环与when register与when 当我们调用shell模块运行命令时,通常需要获取到shell模块...原创 2020-05-03 16:24:51 · 4253 阅读 · 0 评论 -
Ansible(十六)-- ansible 中的任务控制(一)--循环 with_item和loop
原创 2020-05-03 16:24:34 · 1287 阅读 · 0 评论 -
Ansible(十五)-- ansible 中的变量(五) 内置magic魔法变量 ansible_version hostvars inventory_hostname 等
ansible 中的内置变量 一、内置变量ansible_version 二、内置变量hostvars 三、内置变量inventory_hostname 四、内置变量groups 五、内置变量group_names ansible中还有一些内置变量可供我们使用,当然,这些内置变量的变量名是被ansible保留的,我们定义变量时不能使用这些变量名。 一、内置变量ansible_version 先从...原创 2020-05-03 16:23:54 · 2552 阅读 · 0 评论 -
Ansible(十四)-- ansible 中的变量(四)facts事实变量实战练习
原创 2020-05-03 16:23:39 · 469 阅读 · 0 评论 -
Ansible(十三)-- ansible 中的变量(三)setup模块debug模块 fact事实变量
一、setup模块 当我们运行一个playbook时,默认都会运行一个名为”[Gathering Facts]”的任务,,ansible通过”[Gathering Facts]”这个默认任务收集远程主机的相关信息(例如远程主机的IP地址,主机名,系统版本,硬件配置等信息),其实,这些被收集到的远程主机信息会保存在对应的变量中,当我们想要使用这些信息时,我们可以获取对应的变量,从而使用这些信息。 如...原创 2020-05-03 16:23:17 · 1441 阅读 · 0 评论 -
Ansible(十二)-- ansible 中的变量(三) set_fact 模块 register注册变量实现跨play调用变量
一、通过set_fact定义变量 set_fact是一个模块,我们可以通过set_fact模块在tasks中定义变量,先来看一个小示例,如下 [root@server4 ~]# cat bltest8.yml --- - hosts: testB remote_user: root tasks: - set_fact: testvar: "testtest" - de...原创 2020-05-03 16:22:49 · 1200 阅读 · 1 评论 -
Ansible(十)-- ansible 中的变量()ansible中基于htpasswd身份认证的https部署与访问
原创 2020-05-03 16:21:36 · 313 阅读 · 0 评论 -
Ansible(九)-- ansible 中的变量(三) vars变量实战
创建playbook,来安装apache并开启,使可被访问,playbook查询web服务器并确认它已经设置好并在运原创 2020-05-03 16:15:54 · 532 阅读 · 0 评论 -
Ansible(十一)-- ansible 中的变量(二) register注册变量 var_prompt交互变量 命令行传入变量
一、register注册变量 ansible的模块在运行之后,其实都会返回一些”返回值”,我们可以把这些返回值写入到某个变量中,这样我们就能够通过引用对应的变量从而获取到这些返回值了,这种将模块的返回值写入到变量中的方法被称为”注册变量”, [root@server4 ~]# vim bl_test.yml [root@server4 ~]# cat bl_test.yml --- - host...原创 2020-05-03 16:15:13 · 3455 阅读 · 2 评论 -
Ansible(八)-- ansible 中的变量(一) vars变量 vars_files变量
一、ansible 中的变量 1.作用:将playbook中的某些值使用变量代替,从而简化playbook的编写 2.变量简介:要创建的用户、要安装的软件包、要重启的服务、要删除的文件、要从互联网检索的文档 3.方法:变量名应该由字母、数字、下划线组成,变量名需要以字母开头,ansible内置的关键字不能作为变量名。 4.全局范围:从命令行或ansible配置设置的变量 play范围:在play和...原创 2020-05-03 16:14:57 · 9477 阅读 · 0 评论 -
Ansible(七)-- ansible playbook实战之httpd部署与访问
原创 2020-05-03 16:14:02 · 257 阅读 · 0 评论 -
Ansible(六)--ansible 中的playbook
一、playbook简介 在ansible中,类似"脚本"的文件被称作"剧本",‘剧本’的英文名称为’playbook’ ,我们只需要将要做的事情编写成playbook,把不同的模块按照顺序编排在剧本中,ansible就会按照剧本一步一步的执行,最终达到我们的目的 虽然playbook的功能与脚本类似,但是剧本并不是简单的将ad-hoc命令按照顺序堆砌在一个可执行文件中,编写剧本需要遵循YAML语...原创 2020-05-03 16:13:20 · 582 阅读 · 0 评论 -
Ansible(五)-- ansible中 常用模块之系统模块-- firewalld模块、service模块、user模块、group模块
一、firewalld模块 作用:firewalld模块主要设置火墙对服务和端口的允许 参数:ansible-doc -s firewalld查看一下fetch模块的参数` service参数 必须参数,用于指定要允许服务。 state参数 enabled开机启动 permanent参数 true 永久添加 immediate参数 true 立即生效 playbook使用: ```b...原创 2020-04-11 11:12:04 · 1555 阅读 · 1 评论 -
Ansible(三)-- ansible中 常用模块之文件操作--fetch模块、copy模块、file模块、blockinfile模块、lineinfile模块、synchronize模块
一、fetch模块 作用: 从受管主机中拉取文件 参数: ansible-doc -s fetch查看一下fetch模块的参数` 命令行使用: ansible testA -m fetch -a "src=/etc/fstab dest=/testdir/ansible/" playbook使用: --- - name: how to use fetch hosts: A tasks...原创 2020-04-11 10:49:54 · 1621 阅读 · 0 评论 -
Ansible(三)-- ansible中常用指令
一、ansible-doc查看模块帮助 列出ansible所支持的模块: ansible-doc -l 查看模块的详细帮助信息,比如fetch: ansible-doc -s fetch 二、ansible命令行调用模块 ansible 主机名/主机组 -m module -a ‘指令参数’ -i inventory ansible all -m ping 调用模块,比如调用ping模 ...原创 2020-04-11 09:39:03 · 605 阅读 · 0 评论 -
Ansible(二)-ansible清单文件和配置文件
一、ansible的清单 作用:定义了ansible服务器管理的一批受管主机。 清单文件: vim /etc/ansible/hosts 系统默认清单,当工作目录没有自定义清单时启用 vim ~/deploy-inventory/inventory 自定义清单,一般写在工作目录中 内容:(INI语法) 172.25.63.5 ansible_port=22 ansible_user=root ...原创 2020-04-11 08:45:38 · 1087 阅读 · 0 评论 -
Ansible(一)--Ansible简介与以及安装配置详解
一、Ansible简介 ansible是新出现的自动化运维工具,基于Python开发,实现了批量系统配置、批量程序部署、批量运行命令等功能。 ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来...原创 2020-04-11 08:19:34 · 427 阅读 · 0 评论
分享