文章分类 -  Ansible

Ansible Roles目录编排-nginx角色
摘要:roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中,并可以便捷地include它们的一种机制。角色一般用于基于主机构建服务的场景中,但也可以是用于构建守护进程等场景中。运维复杂的场景:建议使用 roles,代码复用度高。roles:多个角色的集合, 可以将多个的role,分别放 阅读全文

posted @ 2021-06-01 18:10 1251618589 阅读(13) 评论(0) 推荐(0) 编辑

修改Ansible的默认任务执行逻辑
摘要:默认Ansible将尝试并行管理playbook中所有的机器。对于滚动更新用例<串行管理>,可以使用serial定义Ansible一次应管理多少主机,还可以将serial指定为百分比,表示每次并行执行的主机数占总数的比例。并行管理:控制远程主机在同一时间片同时执行同一个任务。串行管理:通过seria 阅读全文

posted @ 2021-06-01 14:26 1251618589 阅读(2) 评论(0) 推荐(0) 编辑

playbook使用 when进行条件判断
摘要:when语句,可以实现条件判断。如果需要根据变量、gather_facts或此前任务的执行结果来做为task某个任务是否执行的前提时要用到条件判断,通过在task任务后添加when语句进行条件判断,jinja2的语法格式。<对任务restart Nginx增加when条件判断,调用setup模块变量 阅读全文

posted @ 2021-06-01 13:35 1251618589 阅读(1) 评论(0) 推荐(0) 编辑

template 模板
摘要:template模板是一个文本文件,可以做为生成文件的模版,并且模板文件中还可嵌套jinja语法。template功能:可以根据和参考模块文件,动态生成相类似的配置文件<类似增强版copy模块,复制过去给对方能够给根据一些条件判断使内容发生变化>template文件必须存放于templates目录下 阅读全文

posted @ 2021-06-01 09:29 1251618589 阅读(1) 评论(0) 推荐(0) 编辑

创建主机和主机组有效的变量
摘要:1.项目的主机变量,主机清单文件中为指定的主机定义变量以便于在playbook中使用。 2.项目的组变量,主机清单文件中赋予给指定组内所有主机上的在playbook中都可用的变量,如果和主机变量同名,优先级低于主机变量。 3.所有项目的组都能使用的变量(公共),主机清单文件中赋予给所有组都能够在pa 阅读全文

posted @ 2021-05-31 20:12 1251618589 阅读(3) 评论(0) 推荐(0) 编辑

playbook中变量的用法
摘要:1.以下变量为setup模块提供的变量,因此不需要赋值,可直接调用<但不管是使用该变量还是使用自定义的变量都要加上{{ }} 双花括号才能识别>。ansible_nodenameansible_hostnameansible_domainansible_memtotal_mbansible_memo 阅读全文

posted @ 2021-05-31 14:48 1251618589 阅读(5) 评论(0) 推荐(0) 编辑

通过playbook安装nginx
摘要:1.### 可以看到这是一种基于“项目”的方式管理。2.因为要安装nginx,所以命名一个install_nginx.yml 的文件编写playbook3.### hosts:指定执行任务的对象<这个对象应该时主机配置文件中已存在的组或者host> 、remote_user:登录指定的对象时使用的账 阅读全文

posted @ 2021-05-31 05:55 1251618589 阅读(16) 评论(0) 推荐(0) 编辑

基于项目的形式管理playbook
摘要:编写playbook时必然是以主机清单文件中的自定义组下的host为目标,每编写一次playbook视作一个“项目”,基于“项目”的形式来管理playbook以及主机清单,这样能够更加清晰记录每个“项目”执行playbook涉及到的hosts,以及“项目”变更时可以存档<以便下次复用>1.###首先 阅读全文

posted @ 2021-05-30 21:51 1251618589 阅读(5) 评论(0) 推荐(0) 编辑

Ansible常用模块用法 debug 模块
摘要:debug 模块 此模块可以输出信息,默认msg输出的是Hello world!用法:###可以修改msg输出的信息。 ansible webservers -m debug -a 'msg="welcome to magedu"' 阅读全文

posted @ 2021-05-30 14:07 1251618589 阅读(3) 评论(0) 推荐(0) 编辑

Ansible常用模块用法 setup 模块
摘要:功能: setup 模块来收集主机的系统信息,这些 facts 信息可以直接以变量的形式使用,但是如果主机较多,会影响执行速度,可以使用 gather_facts: no 来禁止 Ansible 收集 facts 信息用法👇:可加参数 filter=ansible_变量 来筛选出想看的内容 ans 阅读全文

posted @ 2021-05-30 14:04 1251618589 阅读(15) 评论(0) 推荐(0) 编辑

Ansible常用模块用法 Lineinfile和 replace 模块
摘要:Lineinfile 模块 ansible在使用sed进行替换时,经常会遇到需要转义的问题,而且ansible在遇到特殊符号进行替换时,存在问题,无法正常进行替换 。其实在ansible自身提供了两个模块:lineinfile模块和replace模块,可以方便的进行替换一般在ansible当中去修改 阅读全文

posted @ 2021-05-30 13:53 1251618589 阅读(34) 评论(0) 推荐(0) 编辑

Ansible常用模块用法 user和group模块
摘要:1.###创建账号 group:添加到哪个主组grepus:添加到哪个附属组sheel:指定的shell类型system:是否为系统账号create_home:是否创建家目录home:指定家目录的路径 ansible webservers -m user -a 'name=nginx uid=88 阅读全文

posted @ 2021-05-30 13:20 1251618589 阅读(2) 评论(0) 推荐(0) 编辑

Ansible常用模块用法 service模块
摘要:Service 模块 功能:管理服务1.###调用service模块将服务设置为启动并开机自启 ansible webservers -m service -a 'name=httpd state=started enabled=yes' 2.###调用service模块将服务设置为关闭 ansib 阅读全文

posted @ 2021-05-30 13:10 1251618589 阅读(5) 评论(0) 推荐(0) 编辑

Ansible常用模块用法 yum和apt模块
摘要:yum 和 apt 模块 功能:yum 管理软件包,只支持RHEL,CentOS,fedora,不支持Ubuntu其它版本apt 模块管理 Debian 相关版本的软件包1.###调用yum模块安装包 ,如果有些包需要使用epel源的话则用enablerepo参数开启epel仓库 ansible w 阅读全文

posted @ 2021-05-30 12:51 1251618589 阅读(9) 评论(0) 推荐(0) 编辑

Ansible常用模块用法 cron 模块
摘要:功能:计划任务支持时间:minute,hour,day,month,weekdayPS:1)如果不写则代表默认 默认每分钟 每小时 每天 每月 每周 2)使用命令的话要将命令的全路径写上,否则无法调动这个命令。(因为计划任务中的$PATH路径默认只有两个)3)day和weekday会产生冲突,以we 阅读全文

posted @ 2021-05-30 12:38 1251618589 阅读(15) 评论(0) 推荐(0) 编辑

Ansible常用模块用法 hostname模块
摘要:hostname 模块 功能:管理主机名PS:一般在playbook中被调动,不单独使用,不可以将所有组下的host都改成一个名字。范例:ansible webservers -m hostname -a "name=websrv" 阅读全文

posted @ 2021-05-29 21:55 1251618589 阅读(2) 评论(0) 推荐(0) 编辑

Ansible常用模块用法 archive模块
摘要:archive 模块 功能:打包压缩保存在被管理节点PS:与unarchive模块功能相反。1.###将远程主机<webservers 组>/opt/etc 文件进行打包压缩到指定dest(可以添加 owner group mode 更改权限) ansible webservers -m archi 阅读全文

posted @ 2021-05-29 21:50 1251618589 阅读(10) 评论(0) 推荐(0) 编辑

Ansible常用模块用法 unarchive 模块
摘要:unarchive 模块 功能:解包解压缩实现有两种用法:1、将ansible主机上的压缩包传到远程主机后解压缩至特定目录,设置copy=yes2、将远程主机上的某个压缩包解压缩到指定路径下,设置copy=no (此情况是该主机已拥有压缩包情况下,只解压到指定路径)ps:有点类似dockerfile 阅读全文

posted @ 2021-05-29 21:20 1251618589 阅读(30) 评论(0) 推荐(0) 编辑

Ansible常用模块用法 file 模块
摘要:File 模块 功能:设置文件属性1.###创建文件与删除文件path:为路径state:可以理解处理动作配合path这个参数使用。 ansible webservers -m file -a 'path=/data/file.log state=touch' ###创建文件并更改文件的所有者 所属 阅读全文

posted @ 2021-05-29 19:30 1251618589 阅读(2) 评论(0) 推荐(0) 编辑

Ansible常用模块用法 get_url 模块
摘要:功能: 用于将文件从http、https或ftp下载到被管理机节点上常用参数如下:url: 下载文件的URL,支持HTTP,HTTPS或FTP协议dest: 下载到目标路径(绝对路径),如果目标是一个目录,就用服务器上面文件的名称,如果目标设置了名称就用目标设置的名称owner:指定属主group: 阅读全文

posted @ 2021-05-29 18:05 1251618589 阅读(57) 评论(0) 推荐(0) 编辑

导航