信创服务器操作系统(银河麒麟版)-安全与网络服务 课件 项目11 部署银河麒麟高级服务器操作系统Ansible自动化运维服务_第1页
信创服务器操作系统(银河麒麟版)-安全与网络服务 课件 项目11 部署银河麒麟高级服务器操作系统Ansible自动化运维服务_第2页
信创服务器操作系统(银河麒麟版)-安全与网络服务 课件 项目11 部署银河麒麟高级服务器操作系统Ansible自动化运维服务_第3页
信创服务器操作系统(银河麒麟版)-安全与网络服务 课件 项目11 部署银河麒麟高级服务器操作系统Ansible自动化运维服务_第4页
信创服务器操作系统(银河麒麟版)-安全与网络服务 课件 项目11 部署银河麒麟高级服务器操作系统Ansible自动化运维服务_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目11部署银河麒麟高级服务器操作系统Ansible自动化运维服务信创服务器操作系统(麒麟版)——安全与网络学习目标了解Ansible服务掌握Ansible的背景知识和工作原理服务部署在银河麒麟高级服务器操作系统上部署Ansible模块使用熟悉各类Ansible模块的实际应用剧本编写掌握Ansible-Playbook的编写技巧项目背景天网工作室的挑战天网工作室近期上线了一批使用银河麒麟高级服务器操作系统的服务器。为了高效管理和维护这些服务器,包括部署应用程序、安装软件包、配置网络设置等任务,迫切需要构建一个自动化运维体系。网络工程师决定采用Ansible作为核心工具,因为它强大且易于使用,能够帮助团队轻松管理和配置服务器,大幅提高工作效率和准确性。项目实施架构选择管理机器选择一台服务器作为管理机器,用于集中控制配置密钥认证实现管理机器与业务机器的公私钥免密认证自动化部署通过Ansible执行各种自动化运维任务项目分析:核心任务1Ansible环境设置在管理机器上安装Ansible编写主机清单文件配置密钥认证应用常用模块2自动化部署实践MySQL自动化安装与配置httpd批量安装与配置服务自动启动设置自动化运维平台自动化运维的重要性随着信息技术的发展和业务需求的不断增长,系统规模和复杂度逐渐增加,传统的运维方式难以满足高效、快速和准确的需求。自动化运维利用自动化工具,将重复性、繁琐的任务交由机器自动完成,减轻运维人员的工作负担。提高效率自动化执行重复任务,大幅提升工作效率减少错误避免人工操作失误,确保配置准确性规模化管理轻松管理大量服务器,实现统一配置自动化运维平台架构C/S架构设计自动化运维平台采用经典的C/S架构,由管理机器和业务机器两个主要部分构成。管理机器:负责定制和发布任务,是整个系统的指挥中心业务机器:负责接收并执行管理机器下发的任务自动化运维平台的优势一次性发布任务一次性发布给所有服务机器,避免逐个手动部署的繁琐过程,大幅提高发布效率并发执行服务机器可以同时接收任务并并发执行,显著节省部署时间统一定制任务定制只需在管理机器上进行一次,即可推送给所有服务机器,避免重复工作主流自动化运维工具对比Ansible基于Python开发,采用分布式架构,无需安装客户端,配置语言采用YAML,轻量级且易用SaltStack基于Python开发,采用C/S架构,相对轻量级,配置语法采用YAMLPuppet基于Ruby开发,采用C/S架构,具有强大的扩展性,基于SSL认证确保安全Chef基于Ruby开发,用于配置管理和自动化部署为什么选择Ansible?更轻量级不需要在被管理机器上安装客户端程序,甚至不用启动服务,仅仅是一个工具,可以轻松实现分布式扩展简单易用安装和配置都非常简单,基于Python的语法和模块化设计使得编写自动化脚本变得容易灵活的模块化设计提供强大的模块库,允许用户自定义各种模块任务,满足复杂的自动化需求简单的远程命令执行支持远程命令操作功能,可以轻松执行各类命令调用,实现简单交互或复杂配置Ansible服务部署Ansible基本架构核心组件Ansible核心程序:处理请求的核心引擎主机清单:管理的主机信息Playbooks剧本:任务配置文件核心模块:执行各种任务扩展模块:自定义功能模块插件:补充模块功能连接插件:建立通信连接Ansible工作原理01用户登录管理机器通过配置文件对业务机器组部署Ansible剧本或单行命令02建立连接支持Local、SSH、ZeroMQ三种连接方式,默认使用SSH03读取部署任务根据hosts文件中定义的业务机器组查找对应的机器地址04下发任务通过SSH免密连接业务机器,下发任务模块到临时目录05执行任务业务机器执行任务,完成后删除模块06返回结果将执行结果发送给管理机器,绿色表示未变化,黄色表示更改生效,红色表示错误Ansible安装方法yum工具安装(推荐)先安装epel-release软件包,然后使用yuminstallansible命令安装pip安装使用Python的包管理模块pip进行安装,需先安装pip工具源码安装下载源码安装包,准备依赖包环境后进行编译安装Ansible配置文件Ansible安装成功后,配置文件默认存放在/etc/ansible/目录下。ansible.cfg文件定义Ansible主机的默认配置,包括密码输入、sudo认证、插件位置、主机组位置、日志功能、默认端口号、密钥文件位置等hosts文件管理主机清单文件,定义需要管理的主机。可以列出主机的IP地址或标识符,并指定相关变量和参数roles目录用于层次性、结构化地组织Playbook,能够根据层次型结构自动装载变量文件、tasks以及handlers等Ansible认证方式密码认证使用用户名和密码进行认证,简单直接安全性较低公私钥认证(推荐)基于SSH的公私钥认证,私钥保存在本地,公钥保存在受管理的服务器上,更加安全SSH密钥对验证流程生成密钥对在管理机器上使用ssh-keygen工具生成公钥和私钥文件分发公钥使用ssh-copy-id命令将公钥复制到每台受控机器验证免密登录在管理机器上验证ssh免密登录是否成功Ansible基本使用Ansible常用命令Ansible安装成功后,命令集默认存放在/usr/bin/目录下。ansible基本命令,用于定义并运行简单任务ansible-config查看、编辑、管理Ansible配置ansible-doc查看Ansible模块的文档ansible-playbook执行Ansibleplaybook剧本ansible-vault用于加密或解密文件ansible-console交互式环境,可以执行Ansible任务核心模块:command与shellcommand模块在远程主机上执行命令,是默认模块,可以直接执行命令并返回结果示例:ansibletest-mcommand-a"ss-ntl"参数:creates、free_form、chdir、removes等shell模块在远程主机上执行shell命令,会为每个任务创建一个子进程示例:ansibletest-mshell-a"yourcommandhere"文件管理模块file模块管理远程主机上的文件和目录,可以创建目录、管理目录和文件属性参数:group、owner、mode、path、recurse、state等copy模块将文件或目录复制到远程主机上,如果目标主机上已有相同文件,不会重复拷贝参数:backup、force等软件包与服务管理模块yum模块在远程主机上安装软件包示例:ansibletest-myum-a"name=httpdstate=latest"参数:enablerepo、name、state(present/absent/latest)service模块管理服务,控制远程主机上的服务,如启动、停止、重启等示例:ansibletest-mservice-a"name=httpdstate=restarted"参数:arguments、enabled、name、runlevel、sleep、state用户与系统管理模块user模块管理用户账户,包括创建、删除、修改用户参数:append、expires、password等group模块管理用户组,用于创建和管理系统用户组setup模块收集远程主机的系统信息,包括IP地址、主机名、操作系统版本等cron模块管理cron作业,用于定时任务的配置其他常用模块ping模块测试远程主机的连通性raw模块在远程主机上执行任意shell命令或脚本,更加灵活vars_prompt模块在执行任务之前提示用户输入变量值mount模块管理被控端设备挂载,支持NFS、CIFS等文件系统Ansible-Playbook剧本什么是Ansible-Playbook?AnsiblePlaybook是一个可重复、可重用、简单的配置管理和多机部署系统,非常适合部署复杂的应用程序。它提供了一个框架,使用预定义的模块来定义任务。核心概念Play:定义要操作的主机或主机组Task:定义对主机执行的具体任务YAML语法:简洁明了,易于阅读和编写Playbook的YAML格式规范1文件开始标记文件的第一行应该以"---"(三个连字符)开始,表明YAML文件的开始2注释在同一行中,#之后的内容表示注释,类似于shell、python和ruby3列表元素列表元素以短横线"-"开头,然后紧跟一个空格,后面为元素内容4缩进规则同一列表中的元素保持相同缩进,每个缩进由两个空格组成,不能使用Tab键5键值对对象的表示方法是键值,中间以":"分隔,":"后面还要增加一个空格Playbook文件的核心要素hosts和users指定一个或多个主机,并以特定用户身份执行任务tasks任务列表按顺序排列的任务,在所有主机上依次执行handlers在特定资源发生变化时触发相应操作tags选择性地运行或跳过部分代码,提供灵活的执行方式任务实施任务11-1:Ansible环境设置任务规划天网工作室新购置了一批服务器,网络管理员选择一台性能较高的服务器作为管理机器,将其他服务器作为业务机器。在管理机器上安装Ansible工具,并配置与业务机器之间的公私钥认证,以确保安全通信。01安装Ansible工具02配置公私钥认证03编写主机清单配置文件04使用模块进行连通和控制环境准备:网络拓扑选择其中一台服务器作为管理机器,其他服务器作为业务机器。30管理机器IP控制端服务器地址35业务机器一IP被控制端服务器地址36业务机器二IP被控制端服务器地址配置公私钥认证步骤创建密钥对在管理机器上使用ssh-keygen命令创建公私密钥对,生成id_rsa和id_rsa.pub文件分发公钥使用ssh-copy-id命令将公钥分发给所有被管理机器,需要输入目标机器的用户名和密码验证免密登录执行ssh操作进行测试,如果可以免密登录,则表示分发成功安装Ansible工具使用yum方式安装在管理机器(30)上使用yum方式进行Ansible的安装。安装命令:yuminstallansible-y查看版本:ansible--version安装完成后,会自动安装Python解释器及开发环境。编写主机清单配置文件Ansible主机清单配置文件默认为/etc/ansible/hosts文件。ansible_host远程连接的主机名称或IP地址ansible_port连接的端口号,SSH默认端口号为22ansible_user远程连接时使用的用户名ansible_password远程连接时进行身份验证的用户密码主机清单配置示例未分组配置(Ex1)可以直接写主机名或主机IP,主机名将通过DNS解析成IP分组配置(Ex2&Ex3)创建webservers和dbservers分组,分组中可以加入主机名或主机IP,调用分组名时将对分组内所有主机生效网络联通测试将两台业务主机IP加入到主机清单文件中,并运行ansible命令进行网络联通测试。测试命令ansibleall-mpingping的结果返回pong表示网络联通测试成功。绿色表示未发生变化,黄色表示更改生效,红色表示执行错误。任务11-2:使用Ansible-Playbook进行自动化部署任务规划管理员需要确保各业务机器都已安装MySQL并启动MySQL服务,同时还需要完成httpd服务的安装和配置。通过编写Ansible-playbook剧本并执行批量远程操作,可以轻松完成任务,避免在每台业务机器上重复繁琐的工作。MySQL自动化部署编写剧本实现MySQL数据库的自动化安装、配置及服务自动启动httpd批量部署使用剧本批量安装httpd服务并进行相关配置编写MySQL安装剧本创建一个新的剧本文件,命名为install-mysql.yml。剧本内容任务一:安装MySQL服务器使用apt模块安装mysql-serverstate参数设置为present任务二:启动MySQL服务使用service模块启动mysql服务state参数设置为started执行MySQL自动化部署运行Playbook命令ansible-playbookinstall-mysql.yml执行这个命令后,Ansible将按照剧本中的任务在目标主机上进行自动化安装和配置操作。系统会显示执行进度和结果,包括每个任务的状态。编写httpd安装剧本创建一个新的剧本文件,命名为install-httpd.yml。剧本结构剧本包含httpd服务的安装任务,使用yum或apt模块根据操作系统类型安装httpd软件包。可以添加配置文件复制、服务启动等额外任务,实现完整的httpd部署流程。执行httpd自动化部署运行Playbook命令ansible-playbookinstall-httpd.yml执行这个命令后,Ansible将按照剧本中的任务在目标主机上进行httpd的自动化安装操作。所有业务机器将同时接收并执行安装任务,大幅提高部署效率。项目总结自动化运维能力掌握了Ansible自动化运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论