使用CNF测试套件测试云本机最佳实践

Joel Hans为CNCF发布的社区帖子

电信业是当今日益数字化的经济的支柱,但它在适应现代基础设施实践方面面临着新的困难挑战。电信业是如何陷入这种局面的?因为事故或停机的风险非常严重,该行业几乎完全专注于最小化风险和最大化可靠性的系统设计。这对于任务关键型服务来说非常棒,无论是公共空中交通管制还是私人高速银行业务,但它强调的是稳定性而不是生产力,以及采用新技术,这可能会使其运营更加稳定精力充沛,表现出色

电信业正在追赶云计算原生技术,其下游效应也开始显现。这些组织现在在企业和IT的实际选择上落后于时代,这意味着他们不太可能招聘他们所需要的顶级工程人才。在竞争日益激烈的环境中,他们需要提高生产力,更快地部署新的电话平台,而不是陷入内部构建的旧定制解决方案的泥潭

为了实现从内部可信工具到行业可信工具的飞跃,电信组织需要有信心,他们正在正确发展虚拟网络功能(VNF)基础设施,以使用Kubernetes实现云本机功能。这就是CNCF的目标所在

进入CNF电信测试套件

云本机网络功能(CNF)是以云本机方式实现或促进网络功能的应用程序,使用标准化原则开发,由至少一个微服务组成

以及CNF测试套件(cncf/cnf testsuite)是一个开放源代码测试套件,用于电信公司确切了解其cnf的云本机性能。它是为电信开发商和网络运营商设计的,使用Kubernetes和其他云本机技术构建,以验证他们在多大程度上遵循了云本机原则和最佳实践,如不变的基础设施、声明性API和"可重复的部署过程。"

CNCF正在汇集电信用户组(TUG)和https://github.com/cncf/cnf-wg">云本机网络功能工作组(CNF WG)实施CNF测试套件,该套件具有灵活的测试和优化的执行时间,可帮助电信开发商和运营团队构建更快的反馈循环。因为它可以集成到任何CI/CD管道中,无论是在开发或预生产检查中,还是作为单个CNF的独立测试运行,电信开发团队可以一目了然地了解他们的新部署如何与云原生生态系统保持一致,包括CNCF托管的项目、技术和概念

这是一个很难回答的问题的有力答案:我们的云计算能力如何

CNF测试套件利用了10个CNCF托管的项目和几个开源工具。CoreDNS用作最终用户熟悉五个步骤https://prometheus.io/">Prometheus用于可观察性测试,以检查CNF主动公开指标的最佳实践。它还打包了其他上游工具,如OPA守门员Helm linterPromtool使安装、配置和版本控制可重复。CNF测试套件团队也感谢Kyverno关于安全测试,LitmusChaos用于弹性测试,以及Kubescope用于安全策略

Minimum install对于CNF测试套件,只需要运行Kubernetes cluster、kubectl、curl和helm,甚至支持在气隙机器或可能需要自托管映像存储库的机器上运行CNF测试。一旦安装,您可以使用示例CNF或自带.yml文件,然后运行"CNF testsuite all"来运行所有可用的测试这里甚至有一个快速的五步流程,用于在不到15分钟内部署套件并获得建议

CNF测试套件涵盖的内容以及原因

2022年初,CNF测试套件可以运行大约60个工作负载测试,这些测试分为7个不同类别

最佳实践

兼容性、可安装性和可升级性:CNF应与任何经过认证的Kubernetes产品和任何符合其功能要求的CNI兼容网络配合使用,同时使用标准的带内部署工具,如Helm(版本3)图表。CNF测试套件检查CNF是否可以使用"kubectl"进行水平和垂直缩放,以确保它可以利用Kubernetes的内置功能

微服务:CNF应作为微服务开发和交付,以提高灵活性,或缩短部署之间所需的开发时间。敏捷组织可以更频繁地部署新功能,或允许多个团队根据其功能领域安全部署补丁,如修复安全漏洞,而无需首先与其他团队同步

状态:云本机基础设施应该是不可变的、不受环境影响的,并且能够抵御节点故障,这意味着正确管理配置、持久数据和状态。CNF的配置应该是无状态的,存储在自定义资源定义中或本地存储上的单独数据库中,任何持久数据都由statefolset管理安全无状态的信息使基础设施易于复制、一致、一次性,并且始终以可重复的方式部署

可靠性、恢复力和可用性:电信基础设施的可靠性与标准IT相同,它需要高度安全可靠,并且支持超低延迟。云本机最佳实践通过依赖具有更高可用性(平均恢复时间(MTTR))的冗余子组件来减少平均无故障时间(MTBF)),然后通过混沌工程和自愈配置测试这些假设。测试套件使用了一种混沌测试,以确保CNF能够适应公共云环境不可避免的故障或协调器级别的问题,例如POD意外删除或计算资源耗尽时发生的情况。这些测试确保CNF符合电信业在非运营商级共享云硬件/软件平台上的可靠性标准

可观察性和诊断性:每个生产云本机基础设施都必须通过度量、跟踪和日志记录使其内部状态可观察。CNF测试套件寻找与FluentdJaegerPromtool普罗米修斯OpenMetrics,帮助DevOps或SRE团队维护、调试并收集有关其生产环境健康状况的见解,这些环境必须进行版本控制、在源代码控制中维护,并且只能通过部署管道进行更改

安全性:云本机安全性需要操作系统、容器运行时、编排、应用程序和云平台级别的专家关注。虽然其中许多不在CNF测试套件的范围内,但它仍然验证容器是否彼此隔离,以及主机是否定义了资源限制,不允许权限提升,并根据常见CVE进行验证

配置:团队应在a声明性使用配置映射、运算符或其他声明性接口来设计所需结果的方式,而不是如何实现所述结果。声明性配置不需要执行才能被理解,这使得它比命令式配置更不容易出错

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值