起源 | thenewstack
Edgenesis编译

本篇文章来自美国空军首席软件官Nicholas Chaillan在2019年Kubecon上的演讲,表明美国国防部(DoD)在F-16战斗机上采纳Kubernetes部署,凸显了Kubernetes在安全性和其余方面的个性。Kubernetes是一个开源容器编排平台,能够自动化应用程序部署、扩大和治理。在这种状况下,美国国防部抉择应用Kubernetes作为其基础设施的一部分,阐明了其在安全性、灵活性和可扩展性方面的信赖。

就混合云策略而言,美国空军尝试驳回更先进的技术。

军事组织越来越依赖于软件,并且它们正转向各种开源工具,如Kubernetes和Istio,以实现工作。2019年,美国空军首席软件官Nicholas Chaillan在圣地亚哥的KubeCon演讲中说到:从武器零碎到战斗机,这些工具都部署在一些十分重要的中央。F-16正在应用这些工具在那些喷气式飞机内置的遗留硬件上运行Kubernetes。

Chaillan说:“团队要证实这是能够做到的”。他向空军及其合作伙伴发动挑战,让他们在45天外在喷气式飞机上运行Kubernetes。尽管这听起来很艰难,但团队最终还是实现了指标。F-16当初就正在运行三个并发的Kubernetes集群。

很重要的问题是,为什么要用Kubenetes进行实现?在KubeCon开幕式后的演讲中,Chaillan解释了空军为何在容器、Istio和Kubernetes上押下重注:因为这是一个灵便但通用的开发平台,实用于整个军队的软件团队,能够避免供应商锁定。

“在开始这个我的项目之前,大多数军事软件团队都在应用老式的瀑布(waterfall)流程构建软件,新代码可能须要数年工夫能力齐全投入生产。即便如此,更新、测试甚至平安审查都重大依赖人工来实现那些早就应该实现自动化的工作。”

就执行工作所需的技术而言,军方不能落后前沿技术太远。如果竞争对手在本身软件实力上鼎力投资,那么他们在战场上的劣势就会显现出来。而更新军方要害应用程序的过程很迟缓,这对国家平安的影响是不言而喻的。

“对咱们来说,缩小攻击面并可能加重威逼十分重要,” Chaillan示意。

1、国防部企业DevSecOps

Chaillan团队决定采纳开源软件作为新开发平台的根底,他们将其称为 DoD Enterprise DevSecOps Initiative。该打算规定了一组平安要求严格的容器来“软化”外部开发标准,指定Kubernetes、Istio、Knative作为默认的软件开发平台。

Chaillan说:“不同部门或地区的软件团队有肯定的自主权,但所有货色都必须建设在空军的平台层上。乏味的是,因为国防部授予微软的10年JEDI云合同产生了微小争议,整个堆栈被设计为可在Amazon Web Services或Microsoft Azure上上运行。

演讲完结后,CNCF主持了一场新闻发布会,Chaillan在会上就这点进行了具体论述,并解释说“咱们不想被任何一件事所解放。” 出于这个起因,该团队专门抉择应用Kubernetes,Istio等其余我的项目为DoD堆栈的网络层提供安全性。他同时说到:“咱们心愿确保Istio在整个堆栈中能继续运行”。

当然,这一路走来也遇到了很多挑战。Chaillan说,Kubernetes并不是为军方在许多状况下必须应用断开连接的环境而设计的,这些环境波及的数据永远不会达到互联网。他暗示到:国防部将就Kubernetes保护人员所解决的局部提出倡议,这可能有助于为Kubernetes在其余敏感操作环境中的应用铺平道路。

“咱们十分习惯于应用互联网进行更新,并与互联网连贯,间接从互联网取得更新。对咱们来说,咱们必须将整个堆栈随身携带。”这些堆栈须要装置在被设计为断网的喷气式飞机或武器零碎上。

2、在美国国防部的规模下开源栈

美国国防部的经营规模与简直所有商业经营不同;Chaillan不仅要培训10万人把握DevSecOps准则,还要学会应用新工具。“技术文化的转变很乏味,”他在新闻发布会上示意,仿佛有些克服。

该规模反映了美国国防部将应用这个新的开发平台来解决许多一般和未经分类的应用程序:超过200万人在军队工作,他们中的大多数都没有为运行Kubernetes的F-16战机工作。

“战机很乏味,但它只是咱们正在做的其余工作的一小部分。咱们有很多业务零碎正在转向云原生环境,转向微服务,并从一开始就构建,”Chaillan说。

整个美国国防部企业DevSecOps打算采纳开源的技术栈,并可供任何人查看,Chaillan说。他示意,军事机构正在“变得更好”地将更多工作公布到开源社区,还指出“咱们不会分叉(开源)软件。”

本文由边无际受权公布