Kubernetes 持续崛起的背后:安全问题仍在,生命周期存疑

容器技术、DevOps 实践以及微服务应用程序架构的快速普及,使其成为现代数字化转型中的三大关键驱动因素。无论是在云端、内部部署还是混合环境中,容器化在可扩展性、可移植性以及持续开发与改进等方面的优势都得到了广泛认可。

最近,不少组织开始将 Kubernetes 视为容器编排领域的标准化解决方案。Tinder 最近宣布,该公司正将其基础设施迁移至 Kubernetes。不久之后,Twitter 也宣布将容器编排环境由 Mesos 切换为 Kubernetes。

虽然我们都很清楚 Kubernetes 为什么能够得到如此广泛的支持与采用,但其中的安全问题仍然困扰着不少组织。一旦忽略容器与 Kubernetes 的安全性问题,犯下的任何错误都有可能直接把自己送上报纸头条。

为了更好地理解容器与 Kubernetes 的安全与采用趋势,我们在 2018 年 11 月对 200 多名 IT 安全与运营决策者进行了调查。最近,我们又对来自安全、DevOps 以及产品团队的近 400 位成员进行了调查,希望了解各类组织如何采用容器技术、目前面临的安全问题以及进一步发展的具体见解。

最终,我们得出的结论与 Gartner 的预测基本一致:到 2022 年,全球超过 75% 的组织将在生产环境中运行容器化应用,这远高于目前的不足 30%。

2019 年上半年,Kubernetes 采用率上涨 50%

作为最初由谷歌公司打造的项目(基于 Borg 与 Omega 项目的实践经验),Kubernetes 于 2014 年正式走向开源,成为一套容器化应用程序的自动化部署、扩展与管理平台。谷歌与 Linux 基金会开展合作,共同建立起云原生计算基金会(CNCF)以管理 Kubernetes 开源项目。

作为 Kubernetes 迈向主流的早期迹象之一,Niantic 于 2016 年发布了人气爆棚的手机游戏《精灵宝可梦:Go》,其基于 Kubernetes 构建并部署在 Google Container Engine 当中。在发布之时,该游戏在美国因为用户的狂热追捧而遭遇到一系列可用性问题,最终用户登录量高达初始估计的 50 倍,甚至达成了最大预估值的 10 倍。凭借着 Kubernetes 所固有的可扩展性优势,该游戏在两周后成功在日本推出,并顺利顶住了三倍于美国首发期间的用户登录量。

从那时起,Kubernetes 开始快速腾飞。在我们 2018 年 11 月的首轮调查当中,有 57% 的受访者表示他们正在使用 Kubernetes 编排容器,这一水平已经超过市场上的同类解决方案。在 2019 年 7 月的第二轮调查中,正在使用 Kubernetes 编排工具的受访者比例从 57% 进一步提升至 86%,增幅高达 50%。

尽管各大主要云服务供应商都提供自己的托管 Kubernetes 服务版本(主要是为了降低使用门槛),但 Kubernetes 的相当一部分用户仍然倾向于自行管理集群。其中的原因在于,自行管理的 Kubernetes 能够更灵活地将应用程序在不同环境之间往来迁移。

Kubernetes 与容器的安全关注度在快速增长

安全问题目前仍是限制容器与 Kubernetes 应用的主要因素之一。2019 年,我们先后遭遇多个高危容器与 Kubernetes 漏洞,包括 funC vuln、k8s 权限提升漏洞、DoS 漏洞以及本月早些时候 CNCF 审计报告中提到的其它几项漏洞。

大多数受访者认为,安全投资不足是所在企业容器化战略的致命伤。转向容器化微服务架构带来了与容器及 Kubernetes 相关的全新安全挑战,而且现有安全工具很难,甚至无法解决这些问题。

组织需要专门为容器、Kubernetes 以及微服务构建安全控制方案,从而满足其安全与合规层面的义务。例如,传统的瀑布式应用程序开发方法不同,现代应用开发方法更依赖持续集成与持续交付(CI/CD),其中安全控制必须深深嵌入 CI/CD 流水线方可正常起效。

在第二轮调查中,受访者们最担心的还有生命周期阶段问题。不过,大多数组织都意识到,运行时故障的普遍根源在于构建与部署阶段未能严格遵守安全最佳实践。事实上,超过半数(57%)的受访者担心在构建与部署阶段发生问题。换言之,用户已经普遍意识到只有在应用程序的生命周期之内推动安全最佳实践,才能真正保证构建的正确性。

容器与 Kubernetes 已经无处不在

调查报告中还包含一项有趣的发现,即容器与 Kubernetes 环境呈现丰富的多样性。虽然 70% 的受访者至少在本地环境中运行部分容器,但高达 75% 的内部运行者同时也在云端运行容器,这意味着任何可行的安全解决方案都必须能够实现跨环境。

目前,有超过半数受访者(53%)以混合模式运行容器,而上一轮调查中这一比例仅为 40%。这意味着纯内部容器运行的占比下降了近一半(从 31% 下降至 17%),而纯云端部署比例则继续保持稳定。

与预期相符,AWS 继续在容器部署市场占据主导地位,其次是 Azure。谷歌虽然仅排名第三,但在市场份额的增幅方面已经相当可观,六个月内由 18% 增长至 28%。

DevSecOps 不只是热门词汇

在利用 DevOps 主体进行软件构建时,传统安全流程可能成为其中的关键障碍。企业面临的安全威胁越来越复杂,而新兴 DevSecOps 有望在其中发挥至关重要的作用。

纵观一切运营角色,按角色分配管理职责的做法仍在延续,但组织必须尽快着手安排 DevSecOps 类职能角色以保障容器安全。

在对安全或合规性相关职务的受访者进行调查时,我们发现目前 DevSecOps 的责任范围应该会有增长,在这部分岗位群体之内,42% 的受访者认为 DevSecOps 是最合理的容器安全运行解决方案。

写在最后

尽管容器安全确实是个重要问题,但容器的发展脚步丝毫没有放慢。凭借着容器与 Kubernetes 的优势,包括推动工程师与 DevOps 团队快速行动,高效部署软件并以前所未有的规模实现运营,组织认为二者带来的助益明显高于由此引发的安全顾虑。

组织亦在努力将容器环境引入生产流程当中。在全部容器中,超过半数运行于生产环境内的组织比例已经由首轮调查中的 13% 增加至 22%,增幅高达 70%。此外,在过去六个月中,生产性容器比例不足 10% 的组织占比也由之前的 52% 下降至 39%。

组织不应将安全视为事后的补救性措施,而应在为关键任务应用程序设计基础设施的同时,充分考虑如何同步实现强大的安全性保障。只有这样,我们才能充分释放云原生技术的优势,进而保护从构建、部署到运行时的整个容器生命周期。

原文链接:

The continuing rise of Kubernetes analysed: Security struggles and lifecycle learnings