Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >OpenShift的容器镜像(第1部分):目标

OpenShift的容器镜像(第1部分):目标

作者头像
Techeek
发布于 2018-01-10 07:25:53
发布于 2018-01-10 07:25:53
1.1K0
举报
文章被收录于专栏:云计算云计算

本文来源于2017 EMEAEurope, the Middle East and Africa,欧洲,中东和非洲) 红帽技术交流会议的会议记录,与会者包括了来自于欧洲、中东和非洲的所有的红帽解决方案架构师及顾问,会议内容是关于构建 OpenShift 镜像的思考和最佳实践案例,文章分为以下四个板块进行叙述:

  • 目标
  • 构建您的镜像
  • 保证镜像的可用
  • 云就绪

本文是该系列的首篇文章,在这一篇文章中我们将看到通过使用容器 (container) 能够达到的常规目标,并在镜像的设计阶段去审视这些目标。

黄金镜像

容器令我着迷的原因之一是,容器允许应用程序所需要的所有依赖项打包到单个部署单元中,这个部署单元被称为黄金镜像,黄金镜像为运行环境的迁移提供了便利。例如,您可以环境其从集成 (integration) 环境迁移到 UAT (User Acceptance Test,用户验收测试) 环境或从准上线 (staging) 环境迁移到生产 (production)环境。因为单个单元中部署了所有依赖关系,所以可以保证在前一个单元的环境下可以正常运行的应用,在后一个单元的环境下仍然可以正常运行。

在容器崛起之前,很多公司困于应用程序的推广上,其中有些人为此写了详细的安装步骤说明,并且必须手动安装应用程序和严格遵循应用程序安装步骤,而另一些人也为此投入了大量的精力,他们利用 PuppetChef 或者 Python 开发软件自动化构建脚本。此外,除了初始的投入外,还需要大量的维护工作来应对软件的升级和变更所带来的各种各样的难题。容器带来的是一套简单的标准化解决方案,因为容器镜像涵盖了应用程序的依赖关系(操作系统,运行时环境(例如:JVM (Java Virtual Machine, Java虚拟机)),库以及一些配置),通过启动容器镜像实例,可以将应用程序部署于不同的环境之中。

可再生性

之后相同的镜像构建方式会产生相同的结果,这对于可用于补丁、升级和进一步演进至稳定环境是非常重要的,因为创建容器镜像的依赖项(库或其他镜像)应具有相同的引用和版本。

敏捷的标准运行环境

同质化的企业软件环境具有以下鲜明的优势:

  • 通过限制支持潜在的软件的运行环境的数量,来节省维护时间及成本。
  • 方便搭建适用于业务部门的软件运行环境,这对于及时解决突发事件是至关重要的。
  • 在多个不同的环境下,更容易建立合规 (Compliance)。
  • 方便工作人员,因为软件运行环境相同,有利于员工更容易适应岗位地变更。

在定义镜像格局时,应该考虑上述优势带来的便利性。而严格执行 SOE (Server Object Extension, 服务对象扩展) 和缓慢迭代 SOE 会造成企业反应迟缓,容器镜像可以帮助您实现高可重用性和方便对多个目标进行集中更改。

可重用性

第一次创建 SOE 时,限制能注入镜像的区域的数量是非常重要的,比如框架、应用程序服务器、驱动程序和脚本等,这些区域涉及基础功能、连接性、监听、资源跟踪管理、安全性等。可以依靠继承和组合的分层方法支持可重用性,在实现可重用性上重点考虑全局镜像而不是单一镜像。

可维护性

上一节提到的中央注入点也是修补和升级的关键,这些更改(可能由软件提供商作为容器镜像提供)需要自动级联,以便使维护变得简单。

在前容器时代,我看到很多公司困于 Java 或应用服务器版本更新和安全修复,容器技术具备在中心位置应用和变更的可能性,并使容器在软件环境中推出既不费力,也不需要停机支持,这在安全性和可靠性方面影响巨大。因此,镜像设计时需要考虑可维护性。

资源利用效率

在创建应用程序时,显而易见的目标是尽量小的消耗资源(RAMCPU,存储等)。使用镜像进行包装意味着密度更高,成本更低,与虚拟机相比,容器的优势是共享相同内核而不是创建额外实例,这可以通过容器共享层来进一步实现,遵循上述目标的容器让 SOE 和可重用成为可能,尽管镜像容量大小确实影响读取和释放镜像所需的时间,但用于 RAM 和存储的容量有比用于镜像容量更大的作用。

安全

除了保证操作系统、应用程序服务器和其他库的补丁及时更新至最新安全性版本之外,在创建镜像时,还需要考虑一些安全性方面的其他重要内容:

  • 减少攻击面:通过将镜像内部安装的内容限制在运行容器所需的内容来实现。
  • 限制功能:高权限容器应该有额外的执行特定安全措施的手段。如安装主机文件系统,绑定主机端口,或使用与主机用户相匹配的特定用户标识识别,其他功能仅在没有其他选项可用时才被授权,并且在仔细检查安全性影响风险之后得到释放。
  • 有限资源:容器镜像应该在有限资源( CPURAM ,网络,存储)下构建,以便单个容器受到拒绝服务 (DOS) 攻击时,保证同一台主机上其他容器正常运行。

弹性

KubernetesOpenShift 这样的 PaaS (Platform-as-a-Service, 平台即服务) 平台提供了监控和自我修复机制。PaaS 依靠容器准备就绪和容器监测探针 (Liveness Probes) 确保以下行为:

  • 当容器没有准备好时,请求不会被发送到容器。实际上,这意味着容器没有完成启动,正在进行终止操作或者其中一个依赖项(数据库,服务)不可用。
  • 容器监测探针检测失败时,容器将重新启动,重新启动后容器将恢复到初始状态,类似于返厂重置。

作为一名镜像设计师,您的责任是保证容器的稳定就绪和提高容器监测探针的可用性。

另一个方面是,当 OpenShift 想要终止一个容器时,它首先将容器从请求处理旋转中移出,并发送一个 SIGTERM 信号,它为应用程序在中止前正常关闭提供了时间,如果允许的期限已过,则使用 SIGKILL 信号。在这方面,镜像内的应用程序完成了处理正在进行的请求,释放资源,并在接收到 SIGTERM 信号时终止。

易于使用

可复用性经常被作为一个目标提及,但是,只有在镜像易于使用的情况下可复用性才能较好的实施,容器的易于使用包括以下几个方面:

  • 首先应该考虑扩展点的构建。方便通过继承、组成或利用扩展点来进行扩展。作为一名镜像设计师,您有责任思考如何以简单的方式添加功能或自定义镜像。
  • 其次应该考虑文档。文档应包括记录镜像的使用目的,使用情况以及运行参数,例如它的起始位置,使用的端口,可供写入数据的目录等,镜像快速启动方便终端用户了解并使用镜像。

我希望您会觉得第一篇文章是有趣的,在下面的文章中,我们将会使用技术和方法实现本篇已经提到过的目标。敬请关注!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
人生就是不断学习和修行-2018年个人总结
版权声明:本文为作者原创,如需转载请通知本人,并标明出处和作者。擅自转载的,保留追究其侵权的权利。golang群:570992072。qq 29185807 个人公众号:月牙寂道长 公众号微信号yueyajidaozhang https://blog.csdn.net/screscent/article/details/86169831
月牙寂道长
2019/07/02
5720
我的系统设计之道
第一时间获取文章,可以关注本人公众号 月牙寂道长 yueyajidaozhang
月牙寂道长
2018/03/06
6040
本人公众号文章目录
以太坊源码分析---go-ethereum之MPT(Merkle-Patricia Trie)
月牙寂道长
2018/12/14
1.1K0
本人公众号文章目录
独家专访 | 揭秘LinkedIn总部数据科学战队:技术强者常有,顶级团队胜在软实力
作者 | 魏子敏,Yawei Xia 薛娅菲和Aileen对本文亦有贡献 *本文为清华数据科学研究院联合大数据文摘发起的《数据团队建设全景报告》系列专访的第一篇内容。 从某种程度上讲,目前硅谷乃至全球最火爆的职业【Data Scientist】始于LinkedIn。 2008年,LinkedIn的数据科学团队负责人DJ Patil 和Facebook的Jeff Hammerbacher分别建立了全世界前两个真正意义上的数据科学团队,并且开始用“数据科学家(data scientist)这个词来描述他们的工作
大数据文摘
2018/05/23
9560
“浪”的量子力学解释
这个五四青年节,小破站的一个《后浪》的视频引爆了两代人的网络论战,“前浪”们感慨,“这届年轻人不好带了!”“后浪”们觉得,“视频就不是真实的世界!”
木东居士
2020/05/20
4300
人工智能研究中的几点思考
1956年达特茅斯会议的展开,宣布了人工智能学科的诞生。总体而言,人工智能的总体进展可以分为四个阶段:酝酿阶段、初步发展阶段、积累阶段与蓬勃发展阶段。
不去幼儿园
2024/12/03
950
人工智能研究中的几点思考
3.3.2 混沌工程:提升未知故障下应急管理能力
本篇是《数智万物下的运维思考》第3部分“流程”第3章的“故障管理中的事前管理”的部分内容。主要梳理一下最近行业中比较火的混沌工程,本文简单先从以下5个方面介绍一下我对混沌工程的理解:
彭华盛
2021/04/26
1.6K0
3.3.2 混沌工程:提升未知故障下应急管理能力
在不确定性世界中,数字化韧性为何至关重要?
拉姆·查兰在《求胜于未知》一书中将不确定性分为两种:第一种是经营性不确定性,它通常在预知范围之内,不会对原本的格局产生根本性影响;另一种则为结构性不确定性,它源自于外部环境的根本性变化,会彻底改变产业格局,带来根本性影响。
大数据在线
2022/12/13
3680
在不确定性世界中,数字化韧性为何至关重要?
运维挑战:如何构建复杂环境下的适应性系统
“我们渴望构建一种能够描述市场、顾客及组织等世界万物的模型,并利用它为未来制定完美的战略。但很不幸,那是做不到的,而且永远做不到。未来具有VUCA特性,即波动性(volatility)、不确定性(uncertaninty),复杂性(complexity)和模糊性(ambiguity)。没有哪个哪个模型能够永远适用,相反我们必须保持敏捷、行动迅速,培养创造性思维,接受敢于尝试的文化。”
彭华盛
2021/01/05
1.4K0
敏捷项目管理【海史密斯版】(一)
一、敏捷革命 1.当我们将试验成本减少到足够低时,整个产品开发的经济学就会发生改变——从以预测为基础的流程(定义、设计,然后建造)转变为一个以适应为基础的流程(构想、探索,然后适应) 2.当生产不同产品的成本突然降低,而把这些不同产品集成到一个产品的成本又很低时,那么这个很大的产品可以说不是生产出来的,而是进化出来的 3.罗伯特·库珀:“各地的公司,无论蔬菜销售商还是坚果销售商,无论是开罐器制造商还是汽车制造商,都参与了新产品研发战争 ,而前沿部队就是产品开发团队。在这个新产品战场上,闪电般的攻击能力——计划充分且出击迅速——越来越成为成功的关键因素。而机动性或者速度则可以保证闪电攻击能够抓住机会或者捕捉到敌人” 4.最终客户价值是在销售时交付,不是在计划时交付 5.任何以敏捷方法为幌子进行特殊开发的人,都是彻头彻尾的骗子 A.敏捷商业目标 1.一个良好的探索流程(如敏捷项目管理)需要实现5个关键的商业目标:
硬核项目经理
2019/08/06
1.8K0
敏捷项目管理【海史密斯版】(一)
量子机器学习简介与应用前景分析
人工智能指的是机器在一定程度上展示人类所认为的智能的能力。机器学习的快速发展推动了这一过程:让机器自己思考,而不是用绝对的概念对它们进行预编程。
AiTechYun
2019/05/14
1.5K0
【信管1.1】信息系统与信息化
首先我们来看下 IT 是什么意思,中文读法叫“挨踢”,就是天天被人踢的职业。当然,这个是玩笑话,做为 20 世纪末 21 世纪初成长最快的行业,IT 行业也被认为是衡量一个国家综合实力的体现。因为,IT 的真正意思是 Internet Technology ,也就是 互联网技术 的意思。
硬核项目经理
2023/03/03
4540
【信管1.1】信息系统与信息化
建设量子“京沪干线”,梦想“瞬间移动”!
  “量子科学实验卫星”和“京沪干线”示意图。 中科大提供 近日,英国物理学会新闻网站《物理世界》公布了2015年度全球物理学界的10项重大突破。中国科学技术大学潘建伟院士、陆朝阳教授等完成的“多自由
新智元
2018/03/14
7510
建设量子“京沪干线”,梦想“瞬间移动”!
Gartner重磅发布近40页PPT,详解2017年十大战略技术趋势
本文转载自数据局 来源:产业智能官(公众号ID:AI-CPS) 近日Gartner公司着重介绍了在2017年对多个组织具备战略意义的重大科技发展趋势。分析师在座无虚席的Gartner ITxpo座
iCDO互联网数据官
2018/03/05
1.2K0
Gartner重磅发布近40页PPT,详解2017年十大战略技术趋势
大数据时代,别让思维方式拖你后腿
作者:吴军 或许你已经感受到了,大数据和人工智能正在对我们的生活产生影响。在朋友们留言中,不乏有人对未来表达了担忧。你是否对你自己所处的世界洞若观火?如果不是,那么就来听听吴军博士怎么说。 计算机在解
钱塘数据
2018/03/06
7420
大数据时代,别让思维方式拖你后腿
【人工智能】案例分析:普华永道推出财务机器人,哪些技能让财务们惊恐
编者按 最近一个拥有注会证书、四大履历的男生到PPV课咨询数据分析的课程,也正好聊到了数据分析对会计事务所的冲击。他提到,会计行业程序性、规范性的操作可以由普通会计师甚至依靠自动化工具即可实现,而事务性的业务已经更多被BA(Business analytics)占领。所以数据分析和人工智能对传统行业带来的冲击和变化可能比我们想象的还要大。 7月20日,国务院印发《新一代人工智能发展规划》,这是我国首个面向2030年的人工智能发展规划,明确了我国新一代人工智能发展战略目标。其实,人工智能早已潜入到生活的方方面
小莹莹
2018/04/20
7.9K0
【人工智能】案例分析:普华永道推出财务机器人,哪些技能让财务们惊恐
云徙科技李楠:不确定性骤增,中台价值凸显
管理学巨擘彼得·德鲁克在《认知管理》中认为:“战略规划不是规划‘未来做什么’,而是规划‘当前必须做什么’,才能准备好迎接充满不确定性的未来。”
大数据在线
2022/05/19
2430
云徙科技李楠:不确定性骤增,中台价值凸显
精益产品需求的要义|TW洞见
今日洞见 文章作者/配图来自ThoughtWorks:亢江妹。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表。已经本网协议授权的媒体、网站,在使用时必须注明"内容来源:ThoughtWorks洞见",并指定原文链接,违者本网将依法追究责任。 1. 需求的新定义 我们这里说的“需求”,是沿循计算机技术诞生而来的“软件需求”,所以可以先稍稍回溯一下历史。下图是Michael Porter
ThoughtWorks
2018/04/20
1.1K0
精益产品需求的要义|TW洞见
如何打造具有商业可行性的AI产品?AI时代的产品思维 | Mixlab智能产品架构师
如今越来越多的产品经理也在考虑为自己的产品添加AI功能,但是事实上并没有那么容易。作为产品经理我经常能收集到各种AI产品的Idea,有些甚至过于科幻,每当我们迫不及待的去实施的时候,结果总是状况百出。
mixlab
2021/05/08
5490
如何打造具有商业可行性的AI产品?AI时代的产品思维 | Mixlab智能产品架构师
中台指挥官体系建设系列 八- 中台建设中技术平台的考虑
前面文章的读者对象主要是CIO/CTO、产品经理、企业架构师,这个章节的读者对象主要是企业架构师/首席架构师。本篇内容长、专业内容多,建议收藏仔细阅读。
数字化转型
2020/05/15
1.1K0
推荐阅读
相关推荐
人生就是不断学习和修行-2018年个人总结
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档