美国空军首席软件官 Nicholas Chaillan 在 KubeCon 2019 上宣布,通过向团队发起挑战,成功在 45 天内将 Kubernetes 和 Istio 部署在 F-16 战机的内置旧硬件上,目前运行着三个并发集群。实现方式是基于开源云工具构建灵活通用的开发平台,结合内部开发的“强化”容器规范与严格安全要求,形成默认软件开发平台 Platform One。云原生技术通过容器化、微服务架构和 DevSecOps 流程,显著缩短了软件更新周期,防止供应商锁定,并支持在非连接环境下安全运行,从而提升现代军事系统的软件迭代效率、安全性和作战适应能力。
美国空军如何在 45 天内在 F-16 战斗机上部署 Kubernetes 与 Istio - 树叶云
随着混合云战略的不断普及,美国军方也开始采用适合自己的独特发展方案。根据美国空军首席软件官 Nicholas Chaillan 在本次于圣迭戈召开的 KubeCon 2019 大会上发布的报告,目前空军方面正在尝试利用 Kubernetes 及 Istio 等一系列开源云工具支持业务体系。这些工具往往会被部署在各类非常规平台之上,包括武器系统甚至战斗机当中。事实上,军方确实着手尝试在 F-16 喷气式战斗机的内置硬件上运行 Kubernetes。Chaillan 表示,“对团队来说,目前的主要任务就是证明这种尝试的可行性。”他向空军及其合作伙伴提出一项挑战,要求在 45 天之内将 Kubernetes 运行在喷气式飞机上,并保证飞机仍能够正常运作。虽然听起来相当困难,但该团队成功完成了任务,目前这架 F-16 战机并发运行有三套 Kubernetes 集群。说到这里,很多朋友自然会想到下一个问题:这么做的理由是什么?在 KubeCon 开幕日的简短主题演讲当中,Chaillan 介绍了美国空军以及国防部其他几个部门如何在他的领导下大力推进容器技术实验,包括如何开展容器、Kubernetes 以及 Istio 部署项目。这将是一套灵活的通用性开发平台,面向各军种的内部软件团队,能够有效防止供应商锁定问题的出现。
美国空军如何在 45 天内将 Kubernetes 和 Istio 部署在 F-16 上
美国空军首席软件官 Nicholasan 在 2019 年 KubeCon 上发表的一份报告称,军事组织越来越依赖软件,正在转向 Kubernetes 和 Istio 等一系列开源云工具。这些工具部署在一些非常有趣的地方,从武器系统到战斗机。是的,F-16 在喷气式飞机的传统硬件上运行着 Kubernetes。“重要的一点是证明这是可以做到的。”Chaillan 说。他表示,他向空军及合作伙伴提出要求,在 45 天内让 Kubernetes 在喷气式飞机上运行,虽然这听起来很困难,但该小组达到了目标,F-16 目前正在同时运行三个 Kubernetes 集群。随之而来的问题是,为什么要这么做?在 KubeCon 开幕式主题演讲后的演讲中,Chaillan 解释了空军以及国防部的其他部门如何对容器、Kubernetes 和 Istio 下大注的。这是一个灵活但通用的平台,可以防止供应商锁定。Chaillan 说,大约 18 个月前,在空军开始这个项目之前,大多数军事软件团队都在使用老式的瀑布式流程来构建软件,而新代码可能需要数年的时间才能完全投入生产。即便如此,更新、测试甚至安全审查仍然严重依赖人力来完成这些早就应该自动化的任务。在执行任务所需的技术方面,军方实在不能落后主流太远。Chaillan 和他的团队决定将开源软件作为新开发平台的基础,倡议将 Kubernetes、Istio、knative 和内部开发的“强化”容器规范与一组严格的安全要求结合起来,作为默认软件开发平台。
Istio 正式成为 CNCF 孵化项目,F-16 战斗机早部署上了?
据云原生社区消息,9 月 28 日,CNCF 基金会宣布,他们已投票接受开源服务网格 Istio 成为 CNCF 正式孵化项目。Istio 发展史 Istio 是业内使用最广泛的服务网格之一,它提供了一种透明、统一和高效的方式来保护、连接和监控云原生应用程序中的服务。Istio 的想法是帮助控制监控微服务的复杂性,通过将他们的应用程序分解成更小的部分,开发人员可以更轻松地更改和更新它们,而不会影响应用程序的其他部分。通过这种方式,开发人员可以比使用传统的单体应用程序更快地添加新功能并修复错误。Istio 的故事可以追溯到 2016 年,该项目最初由谷歌、IBM 和 Lyft 联合开发。随后技术领域的知名企业慢慢都成为了主要贡献者,其中包括 Red Hat、Cisco、VMware、Intel、华为、腾讯、阿里巴巴等。而后 Istio 由 Tetrate、Solo 和 F5 Networks 等公司推向市场。随着 Istio 被广泛采用,它也经常被视为 Kubernetes、Envoy、gPRC 等 CNCF 项目的同行。也因此有很多人认为谷歌不愿意放弃对 Istio 的控制权。很早之前谷歌就承诺将 Istio 项目移交给 CNCF,但是在 2020 年突然背弃了承诺,转而将 Istio 商标转让给一个自己创立的中立组织 Open Usage Commons 谷歌这一决定也让很多其他项目贡献者感到不安。好在今年 4 月份,谷歌收回这一决定,拟定将 Istio 捐赠给 CNCF。有传言表示,谷歌这一决定可能是受到 Istio 越来越流行的影响,到了 2019 年,Istio 已经是 GitHub 上增长第四快的开源项目,时至今日,有超过 190 家企业为该项目作出贡献,超过 15 家公司为基于 Istio 的 Kubernetes 提供托管产品或附加组建。这次 Istio 成为 CNCF 孵化项目,谷歌云的开发者关系负责人和 Istio 指导委员会成员 Craig Box 说:“我们很高兴将谷歌的行业定义的云原生项目堆栈--Kubernetes、Istio 和 Knative 统一到 CNCF 下。我们的团队一直在努力将服务网格社区围绕 Kubernetes Gateway API 聚集在一起,我们期待着看到并推动 CNCF 项目之间更多的此类合作。这对 Istio 及其社区来说是一个重要的里程碑,我们很高兴能在项目的发展中达到这一步”。F-16 战斗机 45 天完成 Kubernetes 和 Istio 部署 随着混合云战略的发展,Kubernetes、Istio、Knative 以及美国军队内部开发的“强化”容器规范现在已成为整个军队的默认软件开发平台。
FAQ
美国空军为何选择在 F-16 战机上部署 Kubernetes?
主要是为了证明技术可行性,构建灵活通用的开发平台,防止供应商锁定,并提升软件迭代效率。
云原生技术如何解决军事系统软件更新慢的问题?
通过容器化和微服务架构,结合 DevSecOps 流程,将原本需要数年的代码投产周期大幅缩短,实现自动化更新和安全审查。
在断开互联网的环境下如何运行 Kubernetes?
团队采用了内部开发的“强化”容器规范与严格安全要求结合,确保数据不传互联网,同时支持非连接环境下的更新与维护。