
Ansible
文章平均质量分 57
做咩啊~
提供免费技术帮助
展开
-
14.Ansible相关报错
任务包含一个带有未定义变量的选项,检查一下定义的变量,也有可能是语法出了问题。2.也有可能是权限问题,用chmod将被控端密钥权限改成644或600。错误的缩进,vars缩进应该和yum一致,变量才能被引用。1.可能是hosts文件中没有添加被控端主机。经过查看是语法问题,所以导致变量未定义。执行ansible命令报错如下。所以它格式要求很严谨。原创 2022-09-30 11:02:49 · 828 阅读 · 0 评论 -
13.Ansible.roles案例
因为有了依赖关系,所以playbook直接调用kodcloud-web这个角色就行,他会把nginx和php先运行起来。调用kodcloud-web这个角色,执行会按照我们设定的步骤,先把基础服务运行起来,再起kodcloud。先配置依赖关系,业务运行,需要nginx与php,所以得让他俩先运行起来,再来执行业务角色本身。修改配置文件,redis在哪台机器上,就写哪台机器的IP,这里调用被控端本地的变量,IP地址。proxy依赖nginx,所以这里编写依赖的yml文件,加入nginx角色。原创 2022-09-30 10:57:08 · 920 阅读 · 0 评论 -
12.Ansible安装NFS案例
创建一个文件,里面包含所有将要被调用的变量nfs共享的目录NFS允许访问的网段用户名称用户组名称用户id/用户组id用变量的好处是,后期变更时我们只需在这里更改变量对应的值就可以了,不用去配置文件中一一进行更改,否则要改好几个地方。原创 2022-09-29 16:34:10 · 517 阅读 · 0 评论 -
11.Ansible.roles角色
这里用到了facts变量,先抓取到被控端CPU的核心数的变量,推送配置文件之前,会先把配置文件中的变量进行引用,替换成具体的变量值,最后推送配置文件。用一个已知的文件结构(且必须是这样),它会自动加载vars、tasks、handlers、template、更方便进行调用。notify所调用的handlers,也必须写在handlers目录下的main.yml文件中。通俗来说,就是要把正确的信息放入正确的目录中,这样在调用角色时才能有正确的效果。文件中,只能存在main.yml 这个文件,就是这么定义的。原创 2022-09-29 15:57:16 · 1065 阅读 · 0 评论 -
10.Ansible.ignore_erros忽略错误
这里故意写错软件的名称,当出现错误时,并没有中断ansible,而是继续执行下面的操作。当执行过程中出现错误时候,不中断ansible的继续执行。原创 2022-09-27 17:00:04 · 1025 阅读 · 0 评论 -
9.Ansible.tags标签
指定执行带install_nfs这个标签的模块,别的模块不执行。除了install_nfs这个标签,别的都执行。原创 2022-09-27 16:51:42 · 128 阅读 · 0 评论 -
8.Ansible.tasks任务
when:判断主机系统是centos则安装httpd、如果是ubuntu则安装httpd2。因为测试机都是centos系统所以httpd2的模块就都跳过了。例:centos和ubuntu都需要安装apache,执行完后两个不同的文件被复制到了不同文件夹下。执行完后两台测试机上都批量装了这两个软件。执行完后每台测试机上的两个服务都启动了。例:给对应web主机名的机器拷贝文件。复制不同的文件到不同的文件夹下。原创 2022-09-27 16:43:50 · 841 阅读 · 0 评论 -
7.Ansible.facts变量采集被控端自身状态信息
ansible会通过module setup来收集主机的系统信息,这些收集到的系统信息叫做facts,这些facts信息可以直接以变量的形式使用。自动采集,采集被控端主机的自身状态信息。比如:主机名、cpu核心数、内存、硬盘等等等信息。原创 2022-09-27 16:17:19 · 1138 阅读 · 0 评论 -
6.Ansible.变量vaiables
6.Ansible.变量vaiables使用固定的字符串,表示一个不固定的值变量提供了便捷的方式来管理ansible中的动态值,比如nginx-1.12,后期可能会反复使用到这个版本的值,如果将此值设置成变量,后续使用和修改起来会很方便,简化了项目的维护。写死就没有意义了。例如:这里用变量的方式来替代nginx的版本,当后期nginx的版本有变化时候,直接修改变量值即可,不用挨个去修改模块内的nginx版本信息vars: nginx_name: nginx-1.12-install:原创 2022-02-17 17:58:01 · 344 阅读 · 0 评论 -
5.Ansible.playbook-lamp 转至元数据结尾
5.Ansible.playbook-lamp使用Ansible-Playbook方式构建LAMP架构,具体操作步骤如下:1.使用yum安装 httpd、php、php-mysql、mariadb、firewalld等2.启动httpd、firewalld、mariadb等服务3.添加防火墙规则,放行http的流量,并永久生效4.使用get_url下载http://192.168.51.188/public/index.php文件LAMP 与 LNMP 会冲突 LAMP的php版本很低原创 2022-02-17 14:06:19 · 78 阅读 · 0 评论 -
4.Ansible.handlers定义执行完成后需要调用的后续任务
4.Ansible.handlers定义执行完成后需要调用的后续任务重点:handlers是一个特殊的task,正常情况下不会被执行。什么时候会被执行,当有notify通知时,才会被触发执行。notify通知的描述名称,必须和handlers的name一致才能被触发。通过playbook部署httpd- hosts: test tasks: - name: install httpd server ##安装httpd yum:原创 2022-02-17 11:48:03 · 299 阅读 · 0 评论 -
3.Ansible.playbook剧本
3.Ansible.playbook剧本就是一个文件playbook其实是由play和task组成。(文件)play:我要操作谁(主机或者主机组)task:具体执行什么任务 ( 模块 )总结:我要对哪个主机做什么任务,可以是一个任务,也可以是多个任务。而每一个任务都需要一个模块来实现。其实就是使用多个不同的模块,来完成一件事情。playbook。例如:部署一个nginx部署nginx会涉及到以下3个步骤,每一个步骤都是一个模块,通过三个模块来完成部署nginx这一件事情:安装:yum原创 2022-02-17 11:42:45 · 116 阅读 · 0 评论 -
2.Ansible.ad-hoc
2.Ansible.ad-hoc1.什么是ad-hoc?ad-hoc就是临时命令, 执行完后结束,不会持久化下来。2.ad-hoc使用场景?查看某个组的所有主机某个进程是否启动,或者查看下磁盘使用率,等等。3.ad-hoc特定语法ansible webserver -m shell -a "df -h"ansible:命令webservers:主机组名称-m:指定模块shell:模块名称-a:模块动作”df -h“ 具体的shell命令会用到的基础模块可以用ansible-d原创 2022-02-17 11:35:21 · 317 阅读 · 0 评论 -
1.Ansible基础架构
1.Ansible基础架构Ansible 是一个IT自动化的配置管理工具通过一个命令行完成一系列的操作,减少重复性的工作,提高工作效率配置管理(服务的安装、配置、启动)和配置中心概念不同假设要在10台Linux服务器上部署nginx服务,手动操作如下,要重复10次,有ansible就省事多了1.登录服务器2.输入对应的密码3.部署yum install nginx4.启动systemctl start nginx5.退出登录Ansible功能批量执行远程命令,可以对N台主机同时进行命令原创 2021-08-15 23:30:09 · 457 阅读 · 0 评论