当前位置: 首页 > news >正文

网站 架构设计北京网站建设及app

网站 架构设计,北京网站建设及app,山东前网站建设,河南建设厅网站查证文章目录 1. Ansible概述1.1 简介1.2 Ansible的特性1.3 Ansible的组件构成1.4 Ansible的工作原理 2. Ansible环境部署2.1 前置准备2.2 安装ansible2.3 查看基本信息2.4 配置远程主机清单 3. Ansible的常用模块3.1 ansible的基础命令格式3.2 Command模块3.2.1 基本格式和常用参数… 文章目录 1. Ansible概述1.1 简介1.2 Ansible的特性1.3 Ansible的组件构成1.4 Ansible的工作原理 2. Ansible环境部署2.1 前置准备2.2 安装ansible2.3 查看基本信息2.4 配置远程主机清单 3. Ansible的常用模块3.1 ansible的基础命令格式3.2 Command模块3.2.1 基本格式和常用参数3.2.2 示例 3.2 shell模块3.2.1基本格式和常用参数3.2.2 示例 3.3 cron模块3.3.1 基本格式及常用参数3.3.2 示例 3.4 user模块3.4.1 基本格式和常用参数3.4.2 示例 3.5 group模块3.5.1 基本格式和常用参数3.5.2 示例 3.6 copy模块3.6.1 基本格式和常用参数3.6.2 示例 3.7 file模块3.7.1 基本格式及常用参数3.7.2 示例 3.8 hostname模块3.9 ping模块3.10 yum/apt 模块3.10.1 常用参数3.10.1 示例 3.11 service/systemd 模块3.11.1 常用参数3.11.2 示例 3.12 script 模块3.12.1 示例 3.13 mount 模块3.13.1 常用参数3.13.2 示例 3.14 archive 模块3.14.1 常用参数3.14.2 示例 3.15 unarchive 模块3.15.1 常用参数3.15.2 示例 3.16 replace 模块3.16.1 常用参数3.16.2 示例 3.17 setup 模块3.17.1 常用参数3.17.2 示例 1. Ansible概述 1.1 简介 自动化运维工具也叫机器管理工具。 可以实现批量管理多台成百上千主机是应用级别的跨主机编排工具。 1.2 Ansible的特性 无客户端agent存在不需要在被控制的节点上安装额外的客户端应用通过ssh协议与被控制节点通信基于模块工作的可以通过模块实现在被控制节点上执行相应的命令操作很多模块具有幂等性即可实现多次模块操作的状态如果没有发生改变则不会重复执行 1.3 Ansible的组件构成 InventoryAnsible管理的主机清单 /etc/anaible/hosts 需要管理的服务清单 ; ModulesAnsible执行命令的功能模块多数为内置核心模块也可自定义 Plugins模块功能的补充如连接类型插件、循环插件、变量插件、过滤插件等该功能不常用 API供第三方程序调用的应用程序编程接口。 Playbook基于YAML格式的文件用于定义和描述一系列任务。 1.4 Ansible的工作原理 基于模块工作通过模块实现在被控制节点上执行相应的命令操作。 2. Ansible环境部署 2.1 前置准备 角色IP安装工具管理端192.168.67.100ansible被管理端1192.168.67.101无需安装被管理端2192.168.67.102无需安装 systemctl stop firewalld setenforce 02.2 安装ansible #在管理端安装 ansible。#先安装 epel 源 yum install -y epel-release #yum安装ansible yum install -y ansible2.3 查看基本信息 ansible --version#查看ansible 目录结构 tree /etc/ansible├── ansible.cfg #ansible的配置文件一般无需修改 ├── hosts #ansible的主机清单用于存储需要管理的远程主机的相关信息 └── roles/ #公共角色目录2.4 配置远程主机清单 cd /etc/ansiblevim hosts [webservers] #配置组名 192.168.67.101 #组里包含的被管理的主机IP地址或主机名主机名需要先修改/etc/hosts文件[dbservers] 192.168.67.102#配置密钥对验证 ssh-keygen -t rsa -P -f ~/.ssh/id_rsayum install -y sshpass sshpass -p 123123 ssh-copy-id -o StrictHostKeyCheckingno root192.168.67.101 sshpass -p 123123 ssh-copy-id -o StrictHostKeyCheckingno root192.168.67.102 #免密登录测试以被管理端1为例 ssh 192.168.67.1013. Ansible的常用模块 3.1 ansible的基础命令格式 #ansible命令格式 ansible 组名 -m 模块名 -a 参数#-a 用于向模块传递参数#查看当前系统中的ansible模块 ansible-doc -l#查看特定模块的摘要信息 ansible-doc -s module_name#示例 ansible-doc -s pn_ospf 3.2 Command模块 在远程主机执行命令此为默认模块可忽略 -m 选项。 #注意此命令不支持 $VARNAME | ; 等即不支持管道符、重定向符号。#注意此模块不具有幂等性3.2.1 基本格式和常用参数 chdir 在远程主机上运行命令前提前进入目录 creates 判断指定文件是否存在如果存在不执行后面的操作 removes 判断指定文件是否存在如果存在执行后面的操作3.2.2 示例 #指定组/IP执行命令 ansible 192.168.67.101 -m command -a dateansible webservers -a date #忽略-m选项默认使用command格式#chdir参数 ansible all -m command -a chdir/home ls ./#creates参数 ansible all -m command -a creates/opt/test.txt ls ./#removes参数 ansible all -m command -a removes/opt/test.txt ls ./3.2 shell模块 和command模块类似在远程主机执行命令相当于调用远程主机的shell进程然后在该shell下打开一个子shell运行命令。 #注意此模块不具有幂等性#注意此模块支持管道符号等功能3.2.1基本格式和常用参数 ansible 组/IP/all -m shell -a chdir 在远程主机上运行命令前提前进入目录 creates 判断指定文件是否存在如果存在不执行后面的操作 removes 判断指定文件是否存在如果存在执行后面的操作3.2.2 示例 #shell模块能够使用管道符 ansible webservers -m shell -a ifconfig | awk NR2 {print \$2}3.3 cron模块 在远程主机定义crontab任务计划 ansible-doc -s cron #按 q 退出3.3.1 基本格式及常用参数 #基本格式 ansible 组/IP/all -m cron -a minute/hour/day/month/weekday 分/时/日/月/周 job 任务计划要执行的命令 name 任务计划的名称 user 指定计划任务属于哪个用户默认是root用户 state present表示添加可以省略absent表示移除。3.3.2 示例 ansible dbservers -m cron -a minute30 hour8,20 weekday1-5 job/usr/bin/cp -f /var/log/message /opt namebackup1 #周一到周五早八点半和晚八点半 执行 复制/var/log/messages 到 /optansible webservers -m cron -a day5-25/10 month*/2 job/usr/bin/cp -f /var/log/message /opt namebackup15-15/10 #隔十天 #每两个月的5 15 25 执行复制#删除#指定状态为absentansible webservers -m cron -a namebackup1 stateabsent3.4 user模块 在远程主机管理用户账户 3.4.1 基本格式和常用参数 ansible 组/IP/all -m user -a name 用户名必选参数 statepresent|absent 创建账号或者删除账号present表示创建absent表示删除 systemyes|no 是否为系统账号 uid 用户uid group 用户基本组 groups 用户所属附加组 shell 默认使用的shell create_homeyes|no 是否创建家目录 password 是否用户的密码建议使用加密后的字符串 removeyes|no 当stateabsent时是否删除用户的家目录3.4.2 示例 ansible dbservers -m user -a nametest1 #创建用户test1 ansible dbservers -m command -a tail -n1 /etc/passwdansible dbservers -m user -a nametest1 stateabsent #删除用户test1 ansible dbservers -a tail -n1 /etc/passwd3.5 group模块 在远程主机进行用户组管理的模块 3.5.1 基本格式和常用参数 ansible 组/IP/all -m group -a name 用户名必选参数statepresent|absent 创建账号或者删除账号present表示创建absent表示删除systemyes|no 是否为系统账号gid 组id3.5.2 示例 ansible dbservers -m group -a namemysql gid306 systemyes #创建mysql组ansible dbservers -m user -a nametest1 uid306 systemyes groupmysql #将test1用户添加到mysql组中ansible dbservers -a id test1 3.6 copy模块 从ansible服务器主控端复制文件到远程主机 #注意srcfile 如果是没指明路径,则为当前目录或当前目录下的files目录下的file文件3.6.1 基本格式和常用参数 #基本格式 ansible -m copy -a src dest [owner ] [mode] src 指出源文件的路径可以使用相对路径或绝对路径支持直接指定目录 如果源是目录则目标也要是目录 dest 指出复制文件的目标及位置使用绝对路径 如果源是目录指目标也要是目录如果目标文件已经存在会覆盖原有的内容 mode 指出复制时目标文件的权限 owner 指出复制时目标文件的属主 group 指出复制时目标文件的属组 content 指出复制到目标主机上的内容 不能与src一起使用3.6.2 示例 ansible dbservers -m copy -a src/etc/fstab dest/opt/fstab.bak ownerroot mode640ansible dbservers -a ls -l /opt ansible dbservers -a cat /opt/fstab.bakansible dbservers -m copy -a contenthelloworld dest/opt/hello.txt #将helloworld写入/opt/hello.txt文件中ansible dbservers -a cat /opt/hello.txt 3.7 file模块 在远程主机管理文件属性、创建软链接等 3.7.1 基本格式及常用参数 #基本格式 ansible -m file -a path 指定远程服务器的路径也可以写成dest“name” state 状态可以将值设定为directory表示创建目录设定为touch表示创建文件设定为link表示创建软链接设定为hard表示创建硬连接设定为absent表示删除目录文件或链接 mode 文件复制到远程并设定权限默认file644directory755 owner 文件复制到远程并设定属主默认为root group 文件复制到远程并设定属组默认为root recurese 递归修改 src 指的是目标主机上的源文件。与copy模块不同。3.7.2 示例 #修改文件的属主属组权限等 ansible dbservers -m file -a ownertest1 groupmysql mode644 path/opt/fstab.bak #软连接 statelink ansible dbservers -m file -a path/opt/fstab.link src/opt/fstab.bak statelink #创建一个空文件,statetouch ansible dbservers -m file -a path/opt/abc.txt statetouch#创建一个空目录,statedirectory ansible dbservers -m file -a path/data statedirectory#删除一个文件,stateabsent ansible dbservers -m file -a path/opt/abc.txt stateabsent ansible dbservers -a removes/opt/abc.txt ls ./3.8 hostname模块 用于管理远程主机上的主机名 #修改主机名 ansible dbservers -m hostname -a namemysql013.9 ping模块 测试远程主机的连通性。 ansible all -m ping3.10 yum/apt 模块 在远程主机上安装与卸载软件包 3.10.1 常用参数 name 需要安装的服务名 statepresent(缺省值)/absent 状态abasent表示卸载服务3.10.1 示例 ansible webservers -m yum -a namehttpd #安装服务#卸载服务 ansible webservers -m yum -a namehttpd stateabsent 3.11 service/systemd 模块 用于管理远程主机上的管理服务的运行状态。 3.11.1 常用参数 name 指定需要控制的服务名称 state 指定服务状态其值可以为stopped、started、reloaded、restarted、status enabled 指定服务是否为开机启动yes为启动no为不启动 daemon_reload yes重启systemd服务让unit文件生效3.11.2 示例 #先安装服务 ansible webservers -m yum -a namehttpd#启动httpd服务 ansible webservers -m service -a enabledtrue namehttpd statestarted#查看web服务器httpd运行状态 ansible webservers -a systemctl status httpd 3.12 script 模块 在远程主机执行shell脚本 #注意script模块不具有幂等性所以建议用剧本来执行。3.12.1 示例 #在本地写一个脚本vim test.sh#!/bin/bashecho hello ansible from script /opt/test2.txt、chmod x test.sh #给脚本执行权限ansible dbservers -m script -a /opt/test.sh #远程运行本地脚本ansible dbservers -a cat /opt/test2.txt #查看生成的文件内容3.13 mount 模块 在远程主机挂载目录/设备文件 3.13.1 常用参数 src 指定要挂载的设备或分区路径。 path 指定要挂载到的目标路径。 fstype 指定要挂载的文件系统类型。 state 指定挂载状态可选值为 mounted、unmounted 或 absent。 opts 指定挂载选项例如挂载选项或参数。3.13.2 示例 ansible dbservers -m mount -a src/dev/sr0 path/mnt statemounted fstypeiso9660 #使用 Ansible 的 mount 模块将设备 /dev/sr0 的内容挂载到目标路径 /mnt。 #文件系统类型为 iso9660并将该设备标记为已挂载状态3.14 archive 模块 在远程主机压缩文件 3.14.1 常用参数 ath 指定要打包的源目录或文件的路径。 dest 指定打包文件的输出路径。 format 指定打包文件的格式可以是 zip、tar、gz 或 bzip2。默认为 tar格式。 remove 指定是否在打包文件之后删除源目录或文件。可选值为 yes 或 no。默认为 no即不删除源目录或文件。3.14.2 示例 ansible dbservers -m archive -a path/etc/yum.repos.d/ dest/opt/repo.zip formatzip#remove参数的使用压缩后删除源文件 ansible dbservers -m archive -a path/opt/test2.txt,/opt/123.txt dest/opt/abc123.tar.gz formatgz removeyes3.15 unarchive 模块 将本地或远程主机的压缩包在远程主机解压缩 3.15.1 常用参数 copy 指定是否将打包文件复制到远程节点以进行解压缩。 remote_src (已弃用)改用 copy 参数。 src 指定要解压缩的打包文件路径可以是本地路径或远程路径。 dest 指定要将文件解压缩到的目标目录。 creates 指定一个文件路径如果该文件已经存在则不进行解压缩操作。 remote_tmp 用于制定远程节点上的临时目录。默认为 /tmp。#copy参数 copy参数的可选值为 yes 或 no。 默认为 yes即先将文件从控制节点复制到远程节点然后在远程节点上进行解压缩。 如果已经将文件分发到了目标节点并想要提高效率可以将该值设置为 no。 反效果的参数为 remote_src。3.15.2 示例 #现在ansible主机建立压缩包 tar cf test.tar.gz test.sh #将 ansible 主机的压缩文件拷贝到到远程主机并解压修改文件所属组和用户 ansible dbservers -m unarchive -a src/opt/test.tar.gz dest/root copyyes3.16 replace 模块 在远程主机修改文件内容 类似于sed命令主要也是基于正则进行匹配和替换。3.16.1 常用参数 path 指定需要处理的文件路径 regexp 用于匹配需要替换内容的正则表达式 replace 用于替换匹配内容的字符串 after 在哪个字符串之后进行替换默认为空 before 在哪个字符串之前进行替换默认为空 backup 是否备份文件选项为 yes 或 no3.16.2 示例 #在db服务器的主机下创建测试文件 vim /opt/test.txt 11 22 33 44 55 66 aa bb cc dd ee ff 1a 2b 3c 4d 5e 6f#匹配 33 并修改为 ccc ansible dbservers -m replace -a path/opt/test.txt regexp33 replacecc#查看 ansible dbservers -a cat /opt/test.txt#匹配到任意一个或多个开头的行增加注释 ansible dbservers -m replace -a path/opt/test.txt regexp^(.*) replace#\1#取消注释 ansible dbservers -m replace -a path/opt/test.txt regexp^#(.*) replace\1#匹配以 a 开头的后面有一个或者多个字符的行并在前面添加 # 注释 ansible dbservers -m replace -a path/opt/test.txt regexp^(a.*) replace#\13.17 setup 模块 使用facts组件获取远程主机的系统信息(facts信息) 3.17.1 常用参数 filter 指定需要过滤的条件仅返回满足条件的主机信息默认为空3.17.2 示例 ansible webservers -m setup #获取mysql组主机的facts信息ansible dbservers -m setup -a filter*ipv4 #使用filter可以筛选指定的facts信息#facts信息主机的各种信息包括硬件、操作系统、网络等。运行命令后会返回一个包含主机 facts 信息的 JSON 格式输出。
http://www.hn-smt.com/news/8425/

相关文章:

  • 软考十四
  • 6 大企业级无代码低代码平台 RBAC 权限体系深度对比
  • 2025 年 11 月双锥回转真空干燥机,真空耙式干燥机,盘式干燥机厂家最新推荐,聚焦资质、案例、售后的六家机构深度解读
  • Pinely Round 5 (Div. 1 + Div. 2) A+B+C+D
  • LINQ 表达式详解
  • Java学习之旅第一季-25:一维数组 - 教程
  • 2025 年 11 月酒店加盟公司最新推荐,品牌资质与运营韧性深度解析!
  • 量子计算技术全景:从硬件路线到AI融合 - 教程
  • 【Web安全】转义字符注入?转义也会失效的SQL注入 - 指南
  • 完整教程:基于类的四种设计模式
  • 电脑恢复技巧:适用于 Windows 的 9 款最佳分区恢复软件
  • 2025年11月打印纸品牌排行:权威评测与正规厂家综合对比
  • 2025年推荐淮星复印纸:优质平价与性价比优势的深度解析
  • many counties know France than China
  • 2025年11月专机成套设备推荐榜单:五家实力厂家综合对比分析
  • 2025年11月摩擦焊机推荐榜:专业厂家实力对比与权威评测
  • 2025年11月新能源重卡排行:专业工厂与靠谱品牌的全面评测
  • 2025年11月阴道瘙痒产品推荐榜:五款市场主流产品综合对比分析
  • 2025年11月武汉刑事律师推荐榜单:专业刑辩律师综合对比分析
  • 2025年11月超声波清洗机厂家评测推荐:结合市场趋势与用户场景的专业分析
  • 2025年11月办公家具公司推荐评价:从资质到服务的全维度考察
  • 2025年11月背单词软件评测榜:从数据到体验的全面剖析
  • Oracle数据库异常断电后无法启动?
  • Oracle数据库远程无法连接怎么办?
  • 2025年11月网站建设服务商推荐榜单:聚焦技术实力与行业应用
  • 2025 年 11 月烟酰胺精华液,修护精华液,保湿精华液厂家最新推荐,技术实力与市场口碑深度解析
  • 2025 年 11 月云南环保咨询,云南环评报告咨询,云南环评手续咨询最新推荐:精准检测与稳定性能深度解析
  • 2025年质量好的非开挖电力管用户好评厂家排行
  • 2025年评价高的高铁桥梁垫块厂家最新权威推荐排行榜
  • 2025年评价高的托玛琳床垫高评价厂家推荐榜