企业实战之ansible
chihtung_hsu
这个作者很懒,什么都没留下…
展开
-
Ansible(二十二)-- ansible中 role角色
一、ansible 角色优点:1.角色可以把内容分组,容易复用2.可以用角色定义系统基本信息:web 服务器、数据库服务器等3.角色可以使大型项目易管理4.角色可以由不同人并行开发二、ansible 角色目录把不同功能的 playbook 分开,一个标准的角色含有下列子目录:defaults:其中的 main.yml 包含角色变量的默认值,在所有变量中优先级最低files:包含角色...原创 2020-05-03 16:26:21 · 376 阅读 · 0 评论 -
Ansible(二十一)-- ansible中导入剧本(import_playbook)和导入任务(import_tasks)
一、导入剧本(import_playbook)注意:导入的剧本必须要写完整,包括hosts、tasks1、写导入的剧本import_playbook.ymlvim import_playbook.yml---- name: this is import_play hosts: servera tasks: - name: install httpd yum:...原创 2020-05-03 16:26:10 · 1223 阅读 · 0 评论 -
Ansible(二十)-- ansible 中的任务控制)(五)-- fail模块 failed_when changed_when关键字
一、fail模块在编写shell脚本时,有可能会有这样的需求,当脚本执行到某个阶段时,需要对某个条件进行判断,如果条件成立,则立即终止脚本的运行,在shell脚本中实现这个需求很简单,只需要在条件成立时调用"exit"命令即可终止脚本的运行, 那么在编写playbook时,如果有类似的需求,我们该怎么办呢?想要在playbook中按照我们的意愿中断剧本的执行,其实也很简单,我们只需要借助一个模...原创 2020-05-03 16:25:31 · 1050 阅读 · 0 评论 -
Ansible(十九)-- ansible 中的任务控制(四)--block、rescue、always块
使用"when"关键字对条件进行判断,如果条件成立,则执行对应的任务,但是,我们可以发现,当条件成立时,我们只能执行一个任务,如果我们想要在条件成立时,执行三个任务,该怎么办呢?难道我们要在这三个任务的每个任务中都加入相同的条件判断么?这种方法也太麻烦了,显然应该有更好的方法,没错,我们可以借助"block"解决这个小问题。在ansible中,可以使用"block"关键字将多个任务整合成一个"块...原创 2020-05-03 16:25:21 · 5274 阅读 · 0 评论 -
Ansible(十八)-- ansible playbook中任务控制(三)--handlers及force_handelers
一、 handelers的作用你可以把handlers理解成另一种tasks,handlers是另一种’任务列表’,handlers中的任务会被tasks中的任务进行”调用”,但是,被”调用”并不意味着一定会执行,只有当tasks中的任务”真正执行”以后(真正的进行实际操作,造成了实际的改变),handlers中被调用的任务才会执行,如果tasks中的任务并没有做出任何实际的操作,那么handl...原创 2020-05-03 16:25:03 · 633 阅读 · 0 评论 -
Ansible(十七)-- ansible 中的任务控制(二)--条件判断when
绝大多数语言中,都使用"if"作为条件判断的关键字,而在ansible中,条件判断的关键字是"when"我们可以使用when关键字为任务指定条件,条件成立,则执行任务,条件不成立,则不执行任务,一、条件判断方式二、具体使用1.布尔值与when2.是否存在或定义3.loop循环与whenregister与when当我们调用shell模块运行命令时,通常需要获取到shell模块...原创 2020-05-03 16:24:51 · 3941 阅读 · 0 评论 -
Ansible(十六)-- ansible 中的任务控制(一)--循环 with_item和loop
原创 2020-05-03 16:24:34 · 1177 阅读 · 0 评论 -
Ansible(十五)-- ansible 中的变量(五) 内置magic魔法变量 ansible_version hostvars inventory_hostname 等
ansible 中的内置变量一、内置变量ansible_version二、内置变量hostvars三、内置变量inventory_hostname四、内置变量groups五、内置变量group_namesansible中还有一些内置变量可供我们使用,当然,这些内置变量的变量名是被ansible保留的,我们定义变量时不能使用这些变量名。一、内置变量ansible_version先从...原创 2020-05-03 16:23:54 · 2327 阅读 · 0 评论 -
Ansible(十四)-- ansible 中的变量(四)facts事实变量实战练习
原创 2020-05-03 16:23:39 · 337 阅读 · 0 评论 -
Ansible(十三)-- ansible 中的变量(三)setup模块debug模块 fact事实变量
一、setup模块当我们运行一个playbook时,默认都会运行一个名为”[Gathering Facts]”的任务,,ansible通过”[Gathering Facts]”这个默认任务收集远程主机的相关信息(例如远程主机的IP地址,主机名,系统版本,硬件配置等信息),其实,这些被收集到的远程主机信息会保存在对应的变量中,当我们想要使用这些信息时,我们可以获取对应的变量,从而使用这些信息。如...原创 2020-05-03 16:23:17 · 1181 阅读 · 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 · 973 阅读 · 1 评论 -
Ansible(十)-- ansible 中的变量()ansible中基于htpasswd身份认证的https部署与访问
原创 2020-05-03 16:21:36 · 233 阅读 · 0 评论 -
Ansible(九)-- ansible 中的变量(三) vars变量实战
创建playbook,来安装apache并开启,使可被访问,playbook查询web服务器并确认它已经设置好并在运原创 2020-05-03 16:15:54 · 455 阅读 · 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 · 2816 阅读 · 2 评论 -
Ansible(八)-- ansible 中的变量(一) vars变量 vars_files变量
一、ansible 中的变量1.作用:将playbook中的某些值使用变量代替,从而简化playbook的编写2.变量简介:要创建的用户、要安装的软件包、要重启的服务、要删除的文件、要从互联网检索的文档3.方法:变量名应该由字母、数字、下划线组成,变量名需要以字母开头,ansible内置的关键字不能作为变量名。4.全局范围:从命令行或ansible配置设置的变量play范围:在play和...原创 2020-05-03 16:14:57 · 8247 阅读 · 0 评论 -
Ansible(七)-- ansible playbook实战之httpd部署与访问
原创 2020-05-03 16:14:02 · 183 阅读 · 0 评论 -
Ansible(六)--ansible 中的playbook
一、playbook简介在ansible中,类似"脚本"的文件被称作"剧本",‘剧本’的英文名称为’playbook’ ,我们只需要将要做的事情编写成playbook,把不同的模块按照顺序编排在剧本中,ansible就会按照剧本一步一步的执行,最终达到我们的目的虽然playbook的功能与脚本类似,但是剧本并不是简单的将ad-hoc命令按照顺序堆砌在一个可执行文件中,编写剧本需要遵循YAML语...原创 2020-05-03 16:13:20 · 441 阅读 · 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 · 1204 阅读 · 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 · 1374 阅读 · 0 评论 -
Ansible(三)-- ansible中常用指令
一、ansible-doc查看模块帮助列出ansible所支持的模块:ansible-doc -l查看模块的详细帮助信息,比如fetch:ansible-doc -s fetch二、ansible命令行调用模块ansible 主机名/主机组 -m module -a ‘指令参数’ -i inventoryansible all -m ping 调用模块,比如调用ping模...原创 2020-04-11 09:39:03 · 433 阅读 · 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 · 913 阅读 · 0 评论 -
Ansible(一)--Ansible简介与以及安装配置详解
一、Ansible简介ansible是新出现的自动化运维工具,基于Python开发,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来...原创 2020-04-11 08:19:34 · 261 阅读 · 0 评论