主页/有了Kubernetes,美国国防部正在F-16战机和战舰上启用DevSecOps。
在DevSecOps进入美国国防部之前,大型武器系统的软件交付可能需要3到10年的时间。
美国空军首席软件官Nicolas M.Chaillan说:“大多数团队都在使用瀑布,没有最低可行的产品,没有增量交付,也没有来自最终用户的反馈循环。”另外,“网络安全在很大程度上是事后才想到的。”
柴兰是在2018年夏天被请来扭转局面的,他的解决方案很简单,如果对该部门来说是革命性的话。他和国防部CIO负责信息企业的副首席信息官Peter RANK创建了DoD Enterprise DevSecOps参考设计,授权他们使用符合CNCF的Kubernetes集群和其他开源技术。“国防部企业DevSecOps参考设计定义了DevSecOps管道上的闸门,”Chaillan说。只要团队符合该参考设计,他们就可以获得国防部范围的连续ATO(操作权限)。
他说,Kubernetes被选中“作为我们的抽象层,所以我们知道它的行为将是一样的。”“对我们来说,价值在于抽象、协调、弹性和自我修复。”特使和Istio提供了一个控制和数据平面,这“至关重要,这样我们就不会在环境之间漂移,因为我们有多个机密环境,”他补充道。
Chaillan说,这一倡议被认为是一种“快速学习,快速失败,不会因为同样的原因两次失败”的方式。“尤其是在人工智能、机器学习和网络安全方面,每个人都意识到我们必须加快行动。”
为了推动采用率,选择团队使用云本地最佳实践构建最低可行产品(MVP)。一些团队选择简单的应用程序来演示它是可以做到的。但柴兰采取了一条不同的路线:“我解决了武器系统问题,这样总干事和高级管理人员就会注意到这一点,而这通常就是你最终获得资金的地方。因此,如果你让人们感到兴奋,并展示出你可以做到,那么你就可以证明这是有道理的。“。
因此,在2019年秋天,总部设在犹他州希尔空军基地的SoniKube团队开始让库伯内斯在一架F-16喷气式飞机上运行。由杰夫·麦考伊(Jeff McCoy)领导的国防部一号平台小组的成员被嵌入该小组,教他们如何将Kubernetes安装在喷气式飞机的遗留硬件上。柴兰说:“我们必须能够在两分钟内用Istio在喷气式飞机上启动Kubernetes,因为如果出现问题,这是对喷气式飞机的要求,而且它必须能够在两分钟内恢复旋转。”“这是最大的挑战。”
在45天内,团队实现了这一目标,并能够在喷气式飞机上为负责采购、技术和后勤的空军助理部长威尔·罗珀(Will Roper)博士进行演示。“我们在Istio上运行了集群,然后我们推出了五六项微服务,”柴兰说。“很多JET都是用旧的编程语言运行的,所以能够运行Go、Python和Java是非常令人兴奋的。”
目前共有37个团队正在致力于在Kubernetes之上构建应用程序:“我们的团队在武器系统的各个方面都在做这件事,从空间系统到核系统再到喷气式飞机,”他说。
要了解更多有关国防部云原生之旅的信息,请阅读完整的案例研究。