版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目八Docker自动化部署
1项目导读2在软件开发与运维的实践中,手动部署Docker容器服务的过程较为复杂,容易拖慢
项目的整体进度。Rancher平台提供了便捷的部署与管理容器的方法,用户无需从零开始
搭建复杂的容器基础设施。同时,Jenkins工具能够监控并执行重复性任务,为项目的持
续集成提供有力支撑。通过Rancher和Jenkins可以实现Docker容器的自动化部署,并显
著提升持续集成的效率。学习目标知识目标了解Rancher平台的功能及其组成。
理解持续集成的概念。了解Jenkins的特点及Jenkins流水线。能力目标能够部署并使用Rancher平台。能够部署并使用Jenkins工具。素质目标引导学生从多个角度思考问题,培养他们的创新思维和问题解决能力。鼓励学生保持持续学习的态度,关注行业动态和技术发展,不断更新自己的知识体系。3部署Rancher平台任务一4任务描述小旌意识到,手动部署Docker容器服务颇为复杂且耗时,相比之下,Rancher平台能够大幅度简化在各种环境中部署和管理容器化应用程序的流程。于是,小旌决定着手部署和使用Rancher平台。5任务准备扫码观看视频,讨论并回答下列问题。问题1:什么是预定义应用程序模板?问题2:简述预定义应用程序模板的特点。6预定义应用程序模板一、Rancher概述Rancher是一个开源的企业级容器管理平台,旨在简化容器的部署、管理和扩展。Rancher主要具有以下功能:7(1)容器编排与管理。Rancher支持Kubernetes、DockerSwarm和Mesos等多种容器编排工具,用户可以根据需求选择合适的编排工具,进行容器的部署与管理。(2)多集群管理。Rancher提供了一个统一的界面,使用户可以同时管理多个Kubernetes集群,这种集中化管理方式极大地简化了跨多个集群的部署、监控和维护工作。(3)跨云平台部署。Rancher支持在多种云平台上部署和管理容器,包括公有云、私有云及本地环境。用户可以在不同的环境中实现统一的容器管理策略,提高部署的灵活性和可靠性。(4)集群导入。Rancher允许用户将现有的Kubernetes集群导入到Rancher中进行统一管理,用户可以更加高效地使用和管理Kubernetes集群。(5)集中式身份验证。为了安全地管理Kubernetes集群,Rancher支持多种集中式身份验证系统,确保只有授权用户可以访问集群资源。二、Rancher组成Rancher主要由基础设施编排、容器编排与调度、应用商店和企业级权限管理4部分组成。8Rancher主要功能和组件基础设施服务。Rancher
能够在所有公有云和私有云的
Linux
主机上部署容器化应用程序,并为容器化应用程序提供灵活的基础设施服务(如存储、网络、负载均衡、DNS等)。容器编排与调度。Rancher
支持多种容器编排和调度引擎,如
Docker
Swarm、Kubernetes
等。Rancher
还拥有自己的容器编排引擎
Cattle,Cattle
广泛用于编排
Rancher自己的基础设施服务,以及DockerSwarm和Kubernetes集群的配置、管理与升级。应用商店。Rancher
内置应用商店,应用商店中提供了大量的预定义应用程序模板,用户可以从应用商店中一键部署由多个容器组成的应用。企业级权限管理。Rancher
支持插件式的用户认证方式(如
Active
Directory、LDAP、Github
等),能够通过角色权限的不同来配置某个用户或用户组对开发环境的访问权限。任务实施——部署并使用Rancher平台本任务将在版本为18.06.3-ce的Docker上部署使用Rancher平台。9部署并使用Rancher平台
Kubernetes架构Rancher支持特定版本的Docker,用户可访问网址“/docs/rancher/v1.6/en/hosts/#supported-docker-versions”,查看Rancher所支持的Docker版本。用户可参考项目一中的任务实施“安装与配置Docker”,安装Rancher所支持的Docker版本。知识加油站10步骤1
以管理员身份登录CentOS操作系统,打开命令行终端,执行以下命令拉取rancher/server:stable镜像。[root@localhost~]#dockerpullrancher/server:stable步骤2执行以下命令基于rancher/server:stable镜像创建名为rancher的容器,将宿主机的8000端口映射到容器的8080端口,并允许容器访问宿主机的配置和资源。[root@localhost~]#dockerrun-d--restart=unless-stopped-p8000:8080--privileged--namerancherrancher/server:stable步骤3执行以下命令查看正在运行的容器。[root@localhost~]#dockerps-a1.安装Rancher任务实施——部署并使用Rancher平台11步骤1
打开浏览器访问地址“41:8000”(“41”为宿主机的IP地址),打开Rancher的欢迎界面,单击“GotIt”按钮,如图所示。2.使用Rancher任务实施——部署并使用Rancher平台12步骤2
在打开的Rancher主页中,单击右下角的“English”下拉按钮,在下拉列表中选择“简体中文”选项,如图所示。2.使用Rancher任务实施——部署并使用Rancher平台13步骤3
切换到“基础架构”选项卡,单击“添加主机”按钮。在打开的界面中单击“保存”按钮,如图所示。2.使用Rancher任务实施——部署并使用Rancher平台14步骤4
在打开的“主机:添加主机”界面中单击“复制到剪贴板”按钮,复制脚本,如图所示。2.使用Rancher任务实施——部署并使用Rancher平台15步骤5
在宿主机的命令行终端中执行复制的脚本,将宿主机添加到Rancher。2.使用Rancher任务实施——部署并使用Rancher平台[root@localhost~]#sudodockerrun--rm--privileged-v/var/run/docker.sock:/var/run/docker.sock-v/var/lib/rancher:/var/lib/rancherrancher/agent:v1.2.1141:8000/v1/scripts/27110E57385EE3BE857D:1703980800000:sSHHCQy84wMtdqTHFOlbKukZzPQ16步骤6
返回Rancher平台,在“主机:添加主机”界面中单击“关闭”按钮,主机添加成功,如图所示。选择“基础架构”→“容器”选项,即可查看已启动的容器。2.使用Rancher任务实施——部署并使用Rancher平台172.使用Rancher任务实施——部署并使用Rancher平台步骤7
切换到“应用”选项卡,单击“定义一个服务”按钮,如图所示。182.使用Rancher任务实施——部署并使用Rancher平台步骤8
在打开的“添加服务”界面中,基于nginx:latest镜像创建名为mynginx的容器,并将宿主机的80端口映射到容器的80端口,单击“创建”按钮,如图所示。192.使用Rancher任务实施——部署并使用Rancher平台步骤9
在返回的“应用”界面中可查看创建的服务,如图所示。部署并使用Jenkins任务二20任务描述
小旌认识到,持续集成在提高开发效率和确保软件质量方面扮演着关键角色Jenkins凭借其强大的功能、灵活的插件体系及广泛的社区支持,已成为首选的持续集成工具。于是,小旌决定部署并使用Jenkins这一强大工具。21任务准备扫码观看视频,讨论并回答下列问题。问题1:什么是持续集成?问题2:Jenkins是一款基于Java开发的开源持续集成工具,它具有丰富的______________和友好的用户界面。22持续集成的常用工具思考-如何办好“乐队合奏”?232.持续集成的优势方案1:乐手各自在家练琴,但从不一起排练方案2:每天“小排练”每天小排练属于有“持续集成”的丝滑协作,能够较好完成乐队合奏一、持续集成概述持续集成(continuousintegration,CI)是一种软件开发实践,旨在通过频繁地将代码更改集成到共享的主代码库中,并在每次集成后自动地运行构建和测试流程来验证这些更改,以尽早发现代码中的错误和不兼容问题。持续集成能够尽早发现集成问题,加快软件开发周期,并提高代码质量和团队协作效率。241.持续集成的定义一、持续集成概述252.持续集成的优势促进团队合作易于部署自动化测试05040302持续集成的优势快速反馈01提高开发效率Jenkins是一款基于Java开发的开源持续集成工具,它主要用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变为可能。
1.Jenkins特点二、持续集成工具Jenkins26Jenkins可以自动构建、测试和部署项目。支持多种编程语言和构建工具,可以与各种版本的控制系统集成,以实现代码的自动拉取和构建。Jenkins提供了一个基于Web的用户界面,用户可以通过该界面轻松地配置和管理任务。Jenkins拥有庞大的插件库,这些插件可以用于集成其他工具和服务,如测试工具、部署工具、代码质量分析工具等,从而实现更全面的自动化流程。自动化构建和持续集成可视化界面丰富的插件生态系统Jenkins是一款基于Java开发的开源持续集成工具,它主要用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变为可能。
1.Jenkins特点二、持续集成工具Jenkins27Jenkins提供了多种安全措施,包括用户权限管理和敏感数据加密等。enkins支持分布式构建,可以通过配置多个构建节点(又称代理或slave)来并行执行构建任务,从而提高构建效率。Jenkins拥有活跃的社区和广泛的用户基础,丰富的社区资源、文档和支持使得用户可以方便地获取帮助并解决问题。安全性分布式构建强大的社区支持Jenkins流水线(Pipeline)是一种用于定义和执行持续集成/持续交付(CI/CD)流程的工具,它允许用户通过声明式的Pipeline脚本来定义整个软件在开发过程中的构建、部署和测试流程,以实现持续集成和交付。PipelineDSL(domain-specificlanguage)是一种专门为Jenkins流水线设计的脚本语言,它基于Groovy语言,提供了一系列关键字和语法来定义流水线的各个阶段和任务。二、持续集成工具Jenkins28
2.Jenkins流水线PipelineDSL关键字pipelinestagestepsnodeAgentparameters二、持续集成工具Jenkins2901STEP02STEP03STEP04STEP定义阶段使用stage关键字定义流水线的各个阶段(一组相关的操作或任务),并设置每个阶段的名称和任务。设置代理节点如果需要在特定的节点上执行任务,可以使用agent或node关键字来设置执行节点。定义流水线使用pipeline关键字定义流水线的入口,并设置流水线的名称、参数和触发条件等信息。参数化在每个阶段中使用steps或其他任务相关的关键字来编写具体的任务脚本,如构建、测试、部署等。05STEP如果流水线需要接收外部参数,可以使用parameters关键字定义参数列表,并在流水线执行时传入参数值。编写任务Pipeline脚本示例:pipline{#定义流水线的入口agentany#固定写法,表示构建节点位置stage{#阶段性任务stages(“拉取脚本”){#任务
steps{}#步骤}stages(“执行脚本”){steps{}}}}30素养之窗优刻得科技股份有限公司(简称UCloud
优刻得)是中国领先的中立云计算服务商,专注于提供安全、可靠的云计算服务。UCloud
优刻得是中国第一家公有云科创板上市公司,自主研发了
IaaS、PaaS、大数据流通平台、AI
服务平台,推出了公有云、私有云、混合云、专有云等全线云产品,为政府、AI
大模型、工业互联网、运营商、教育、医疗、零售、金融、互联网等各行业用户提供了全面的数字化转型升级服务。UCloud
优刻得在云计算领域不断创新,推出了多项具有自主知识产权的技术和产品。例如,公司的数据安全流通平台“安全屋”结合了数据沙箱、多云融合、区块链三大技术亮点,为用户提供了安全、可信的数据共享解决方案。简单说说UCloud在智慧医疗的应用。任务实施——使用Jenkins创建nginx容器本任务将部署Jenkins工具,并通过流水线方式管理nginx容器。31使用Jenkins创建nginx容器32步骤1
以管理员身份登录CentOS操作系统,打开命令行终端,使用文本编辑器Vim打开“docker.service”文件,在“[Service]”部分的ExecStart指令后添加“-Htcp://:2375-Hunix://var/run/docker.sock”,增加Docker守护进程的监听端口,如图所示。[root@localhost~]#vim/usr/lib/systemd/system/docker.service1.配置安装环境任务实施——使用Jenkins创建nginx容器步骤2
执行以下命令重新加载配置文件,并重启Docker服务。[root@localhost~]#systemctldaemon-reload[root@localhost~]#systemctlrestartdocker33步骤3
执行以下命令查看端口信息。[root@localhost~]#netstat-nptl步骤4使用文本编辑器Vim打开“/etc/sysctl.conf”文件,配置内核参数并应用配置的内核参数。[root@localhost~]#vim/etc/sysctl.confnet.ipv4.ip_forward=1net.ipv4.conf.default.rp_filter=0net.ipv4.conf.all.rp_filter=0[root@localhost~]#sysctl-pnet.ipv4.ip_forward=1net.ipv4.conf.default.rp_filter=0net.ipv4.conf.all.rp_filter=01.配置安装环境任务实施——使用Jenkins创建nginx容器34步骤1
执行以下命令创建Jenkins的生成目录“/home/jenkins_home”,并设置该目录的访问权限为完全权限。[root@localhost~]#mkdir/home/jenkins_home[root@localhost~]#chmod777/home/jenkins_home步骤2执行以下命令拉取jenkins/jenkins:lts镜像。[root@localhost~]#dockerpulljenkins/jenkins:lts2.安装Jenkins任务实施——使用Jenkins创建nginx容器35步骤3
执行以下命令基于jenkins/jenkins:lts镜像创建名为testjenkins的容器,将宿主机的8080端口映射到容器的8080端口,即通过宿主机的8080端口可访问Jenkins的Web界面,将宿主机的50000端口映射到容器的50000端口,使Jenkins可使用50000端口进行代理连接,将宿主机的“/home/jenkins_home/”目录挂载到容器的“/var/jenkins_home”目录,将宿主机的Docker套接字文件挂载到容器中,并将宿主机的Docker可执行文件挂载到容器中。[root@localhost~]#dockerrun-dit-p8080:8080-p50000:50000--nametestjenkins-uroot-v/home/jenkins_home/:/var/jenkins_home-v/var/run/docker.sock:/var/run/docker.sock-v/usr/bin/docker:/usr/bin/dockerjenkins/jenkins:lts步骤4执行以下命令查看正在运行的容器。[root@localhost~]#dockerps-a2.安装Jenkins任务实施——使用Jenkins创建nginx容器36步骤5
打开浏览器访问地址“30:8080”(“30”为宿主机的IP地址),打开Jenkins主界面,如图所示。步骤6执行以下命令进入testjenkins容器,查找“jenkins.war”文件的路径。[root@localhost~]#dockerexec-ittestjenkins/bin/bashroot@3f429e52eb53:/#find/-namejenkins.war2.安装Jenkins任务实施——使用Jenkins创建nginx容器37步骤7
执行以下命令将“/usr/share/jenkins/jenkins.war”文件重命名并备份,之后依次使用“Ctrl+P”和“Ctrl+Q”组合键退出testjenkins容器。root@3f429e52eb53:/#mv/usr/share/jenkins/jenkins.war/usr/share/jenkins/jenkins.war.bakroot@37e4b2ebdc89:/#readescapesequence步骤8执行以下命令下载“jenkins.war”文件。[root@localhost~]#wgethttps://updates.jenkins.io/download/war/2.319.1/jenkins.war2.安装Jenkins任务实施——使用Jenkins创建nginx容器步骤9执行以下命令将宿主机上的“jenkins.war”文件复制到testjenkins容器中的“/usr/share/jenkins/”目录下。[root@localhost~]#dockercpjenkins.wartestjenkins:/usr/share/jenkins/jenkins.war38步骤10
执行以下命令查看容器testjenkins的日志,以获取Jenkins登录密码。[root@localhost~]#dockerlogstestjenkins步骤11在Jenkins主界面中的“管理员密码”编辑框中输入获取的登录密码,单击“继续”按钮。在打开的“自定义Jenkins”界面中,单击“安装推荐的插件”按钮,如图所示。在网络畅通的状态下,插件安装约需要5分钟。2.安装Jenkins任务实施——使用Jenkins创建nginx容器39步骤12
在打开的“创建第一个管理员用户”界面中创建管理员用户“xj”,输入密码、确认密码、全名及电子邮件地址,单击“保存并完成”按钮,如图所示。2.安装Jenkins任务实施——使用Jenkins创建nginx容器40步骤13
在打开的“实例配置”界面中,单击“保存并完成”按钮,如图所示。2.安装Jenkins任务实施——使用Jenkins创建nginx容器4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- PCR感染应急预案(3篇)
- 第三单元 师长情谊
- 2026年企业供应链合规性管理实践与案例分析
- 2025年高考地理试卷(广东卷)
- 2026年注塑产品不良品原因分析表
- 加减混合的教学设计
- 儿科发热患儿护理措施
- 放射科肺部CT异常影像判读指南
- ICU脑卒中后康复护理方案
- 音乐节奏训练教案
- 《空乘化妆与形象塑造》课程标准
- 高速铁路客运服务系统-旅客服务系统
- 上海交通大学生态学课件第二章:生物与环境
- 读懂孩子行为背后的心理语言课件
- 颅内高压患者的监护
- 七十岁换证三力测试题库
- Unit 4 A glimpse of the future Starting out Listening-高中英语外研版(2019)选择性必修第三册
- 园林苗圃学复习2014概要
- GB/T 3390.1-2013手动套筒扳手套筒
- 2022年德清县文化旅游发展集团有限公司招聘笔试试题及答案解析
- 液压与气压传动全版课件
评论
0/150
提交评论