Ansible
文章平均质量分 62
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible架构相对比较简单,仅需通过SSH连接客户机执行任务即可
勤奋的树懒
计算机高级操作员、初级程序员、中级程序员、高级程序员、HCIA、HCIP
展开
-
Ansible剧本拆分
原本tasks的内容写在tasks下的字剧本main.yml(默认读取main)template的内容放在templates下,使用时直接写文件名即可。使用include_tasks,比如主剧本juben.yml。全部是写在一个剧本文件中,比如下面juben.yml。然后在创建这5个子剧本,单独写各种的任务。主剧本juben.yml文件是这样的的。原创 2023-02-15 15:04:47 · 215 阅读 · 0 评论 -
Ansible剧本流程控制
下面可以看见,138(mosnter2),139(mosnter3)两台主机都执行成功了,但是只有只有138有修改状态,因为monster3上面没有这个目录,skipped跳过。删除所有/data/monster/下的monster.log 和monster.yml文件,变量名默认item没有s,with_items里面的变量全匹配后任务才执行完。chufa:自定义的任务名称,自动去handlers里面匹配相对应的任务名称执行动作。如下在第一个任务创建目录的时候故意弄错,先把忽略错误注释掉,执行看看。原创 2023-01-07 11:23:59 · 615 阅读 · 0 评论 -
Ansible变量定义和使用
变量的另一个主要用途是在运行命令时,把命令结果存储到一个变量中.不同模块的执行结果是不同的.运行playbook时使用-v选项可以看到可能的结果值. 在ansible执行任务的结果值可以保存在变量中。给每个组文件夹里建个vars.yml变量文件,并设置变量和值,例如所有变量文件都有一个port变量,但每个的值不一样。对应的hosts组会去自动去对应的变量文件里面去读取,如果指定的组没有变量文件会默认去读取all的变量文件。vars:变量名=变量值,也可以写在下一级将=改成冒号+空格+值的形式。原创 2022-12-29 18:07:47 · 1435 阅读 · 1 评论 -
Ansible剧本使用
前面说了奶牛是默认图案,可以使用cowsay -l显示所有可以选择的图案。到被分发的服务器验证,目录创建了,查看monster.log,里面也在记录,查看定时任务里面的内容正是我们剧本里面编辑好的。没有问题再把-C去掉正式执行,中间有个告警直接无视掉,它建议新建文件使用file模块,我们剧本里面使用的shell模块。在223行,复制一行出来修改成自己要修改的图案,不复制直接修改default也行。效果知道想要哪个了,怎么更改默认输出自己想要的表情图案呢。yaml文件的后缀为.yml或者.yaml。原创 2022-12-27 20:03:57 · 1056 阅读 · 0 评论 -
Ansible常用模块
复制文件到其它服务器节点,注意斜杠的区别,/data/copy是copy整个目录本身包括里面的文件,/data/copy/是只复制copy里面的文件。state 状态(directory创建目录、file默认状态,修改文件内容,如果文件不存在不会创建文件、touch创建文件、link软连接)执行分发脚本,如下创建了个docker安装redis以及启动redis容器并显示正在运行的容器,再通过ansible分发给所有主机执行。此模块是默认模块,不指定模块默认使用此模块,只能执行些简单命令,不支持特殊符号。原创 2022-12-27 14:09:43 · 700 阅读 · 0 评论 -
Ansible认证方式
验证连通性,将server2改成all可以验证清单里的所有主机。复制公钥id_rsa.pub到被控服务器去,需要验证密码。在ansible服务器生成密钥对,一路回车即可。192.168.71.131 被连接的主机。ansible_ssh_port 端口。ansible_ssh_user 账户。ansible_ssh_pass 密码。编辑清单文件直接指定账号密码。原创 2022-12-25 04:37:47 · 345 阅读 · 0 评论 -
Ansible安装
报下面错误的话先安装一下epel-release。查看ansible版本信息。原创 2022-12-25 04:35:56 · 92 阅读 · 0 评论