1. CNF

云原生网络功能(The Cloud Native Network Function (CNF))是一种应用程序,它以云原生方式实现或促进网络功能,使用标准化原则开发,并由至少一个微服务组成。

云原生网络功能认证(CNF Certification)计划使通信服务提供商(Communication Service Providers,CSP)相信其供应商提供的应用程序符合云原生最佳实践。

基于 CNF 测试套件的计划将允许电信运营商和电信组织放心地采用 Kubernetes 和云原生工具。

1.1. 背景

西班牙瓦伦西亚——欧洲 KubeCon + CloudNativeCon——2022 年 5 月 18 日——为云原生软件构建可持续生态系统的 CNCF(云原生计算基金会,Cloud Native Computing Foundation)当天宣布了云原生网络功能(Cloud Native Network Function,CNF)认证计划。CNF 认证计划将帮助通信服务提供商(Communication Service Provider,CSP)和其他电信组织确定哪些网络设备提供商(Network Equipment Provider,NEP)遵循云原生最佳实践。

CNF 是以云原生方式,实现或促进网络功能的应用程序。电信运营商和其他电信组织正在从传统的虚拟网络功能(Virtual Network Function,VNF)向基于 CNF 和 Kubernetes 的基础设施迁移,这些基础设施能够提供可靠的服务,同时降低资本和运营支出,并鼓励跨云兼容性。该计划将使 NEP 和 CNF 创建者能够展示在其网络产品中采用云原生最佳实践。

“对于已经过渡到 VNF,并发现自己拥有不是为云构建的孤立资源和专业解决方案的电信提供商来说,迁移到云原生基础架构一直很困难。”CNCF 总经理 Priyanka Sharma 表示:“CNF 认证计划,旨在通过创建针对云原生环境优化的解决方案来填补这一空白。一些世界上最大的电信组织,包括华为[1]、诺基亚[2]、T-Mobile[3]和沃达丰[4],已经在使用 Kubernetes 和其他云原生技术,该计划将使其他人更容易做到这一点。”

1.2. 认证 CNF 的收益

  • 互操作性:应用程序和云平台之间通信的标准化
  • 共享经验:通过采用云原生最佳实践来构建社区的工作
  • 可预测性:当在像Kubernetes这样的云原生基础设施上运行时,经过认证的应用程序以可预测的方式运行。意料之外的行为应该很少见,因为在最佳实践测试期间已经清除了应用程序特定的问题。
  • 及时更新:为了保持认证,供应商需要用其产品的新版本进行认证,并通过每年或更多的认证测试

1.3. CNF 认证涵盖范围(测试套件测试的内容)

CNF 认证程序使用 CNCF 的 CNF 测试套件运行,并支持在经过获得认证的 Kubernetes 环境中运行的任何产品。CNF 测试套件是个开源测试套件,用于电信公司验证他们遵循云原生原则和最佳实践的情况,如不可变基础设施和声明式 API。它利用了 10 个 CNCF 托管的项目和其他几个开源工具,包括 Fluentd、Helm、Jaeger 和 Prometheus。

NEP 和 CNF 创建者可以使用 CNF 测试套件自我验证应用程序,并通过 PR 请求提交结果。还没有准备好提交结果的组织,仍然可以开始使用 CNF 测试套件,并使用它来改进他们产品中的“云原生性”。通过 CNF 认证的 CNF 将被视为“认证(Certified)”,随着项目的扩展,将会有更高级别的认证。

目前,CNF 测试套件可以运行大约 70 个工作负载测试,这些测试分为七个不同的类别,包括:

dd

  • 兼容性、可安装性和可升级性: CNF 应该与任何经过认证的 Kubernetes 产品和任何 CNF 兼容的网络一起工作,这些网络在使用标准的内置部署工具(如 Helm(v3) Chart)的同时满足其功能需求。CNF 测试套件使用 kubectl 检查 CNF 是否可以水平和垂直缩放,以确保它可以利用 Kubernetes 的内置功能。
  • 微服务: CNF 应该作为一个微服务进行开发和交付,以提高敏捷性,或者减少部署之间所需的开发时间。敏捷组织可以更频繁地部署新特性,或者允许多个团队基于他们的功能区域安全地部署补丁,比如修复安全漏洞,而不必首先与其他团队同步。
  • 状态: 云原生基础设施应该是不可变的、与环境无关的,并且对节点故障具有弹性,这意味着适当地管理配置、持久数据和状态。CNF 的配置应该是无状态的,存储在自定义资源定义中或本地存储上的单独数据库中,任何持久性数据都由Statefulset 管理。区分的有状态信息和无状态信息使得基础设施易于复制、一致、可丢弃,并且总是以可重复的方式部署。
  • 可靠性、弹性和可用性: 电信基础设施中的可靠性与标准 IT 相同,它需要高度安全和可靠,并支持超低延迟。云原生最佳实践试图通过依赖具有更高可用性的冗余子组件(平均恢复时间(MTTR))来减少平均故障间隔时间(MTBF),然后通过混沌工程和自修复配置来测试这些假设。测试套件使用一种混沌测试,以确保 CNF 对公有云环境不可避免的故障或协调器上的问题具有弹性
  • 可观察性和诊断性: 每个生产环境的云原生基础设施必须通过度量、跟踪和日志记录使其内部状态可观察。CNF 测试套件验证与 Fluentd、Jaeger、Promtool、Prometheus 和 OpenMetrics 的兼容性,这些工具帮助 DevOps 或 SRE 团队维护、调试和收集关于他们的生产环境的健康状况的报告,这些环境必须进行版本控制、在源代码控制中维护,并且只能通过部署管道进行更改。
  • 安全: 云原生安全需要操作系统、容器运行时、编排、应用程序和云平台级别的专家予以关注。虽然其中许多超出了 CNF 测试套件的范围,但它仍然验证容器是否与其他容器和主机隔离,是否允许特权升级,是否定义了资源限制,以及是否针对普通 CVE 进行验证。
  • 配置: 团队应该以声明式的方式管理 CNF 的配置——使用 ConfigMaps、operator 或其他声明式接口——来设计所需的结果,而不是如何实现这些结果。声明性配置不需要执行就可以被理解,这使得它比命令式配置甚至是维护最良好的“kubectl”命令序列更不容易出错。

在每个类别中部署了大量测试之后,CNF 测试套件将为每个类别(或者在CLI中选择一个类别)输出灵活的评分和补救建议,为您提供改进 CNF 以更好地遵循云本地最佳实践的实际下一步步骤。对于电信行业来说,它是一种强大且仍在增长的解决方案,可以以一种可控、可观察并得到 CNCF 旗下所有专业知识验证的方式拥抱原生云。

1.4. 如何获得 CNF 认证

    1. 准备 了解认证要求技术准备条件,为您的产品进行认证做好准备。
    1. 运行测试 按照 说明 使用 CNF 测试套件运行测试。
  • 3.提交 准备一份 PR,将结果提交给 GitHub 上的 CNF 仓库。填写参与表格

    1. 审查 审查员将批准您的PR,此时您将获得认证。

1.5. 通过认证的 CNF

通过认证的 CNF

2. 参考

Copyright © 温玉 2021 | 浙ICP备2020032454号 all right reserved,powered by Gitbook该文件修订时间: 2023-03-21 23:55:56

results matching ""

    No results matching ""