欢迎来到云服务器租用和托管数据中心

网络技术

基于Kubernetes的测试

在生产环境中运行Kubernetes是一种越来越流行的确保可扩展性和提高 Web 应用程序可用性的方法。本文主张在软件开发生命周期的另一个关键阶段——测试阶段支持 Kubernetes。

许多开发人员可能会犹豫是否接受这个想法,因为他们在管理 Kubernetes 方面缺乏经验。但是,如果仔细计划,在测试中实施这个容器编排平台可以提供对生产环境的真实模拟,而无需付出太多努力。

基于Kubernetes的测试

基于 Kubernetes 的测试

想要将 Kubernetes 集成到他们的工作流程中的组织应该意识到它有一个陡峭的学习曲线,并且需要经验丰富的DevOps或 SysAdmins 来运行它。但是,它很快就会在增加灵活性、效率和速度方面得到回报,开发人员可以利用这些灵活性、效率和速度部署新的应用程序版本。

Kubernetes 测试环境可以使用Minikube、k3s 或 MicroK8s 在本地创建。这种方法通常适用于在支持基础架构方面不需要太多资源的轻资源应用程序。然而,虽然设置本地沙箱很容易,但它也存在三个重要缺点:

  • 开发人员被迫成为小规模的 Kubernetes 管理员。虽然学习如何部署应用程序和维护集群并不是不可逾越的障碍,但集群管理会创建额外的任务并中断开发工作流程。
  • 资源匮乏的应用程序给本地集群带来了压力。单台机器提供的资源有限,导致测试体验不佳。
  • 本地集群中的测试部署并不能完美地复制生产环境。鉴于沙盒的主要目的是创建生产条件的副本,本地沙盒的实用性有限。

 

最佳 Kubernetes 体验在云端

Kubernetes 使其成为测试环境的明智选择的关键特性是容错和自动修复。这些功能有助于资源扩展,并且在可以按需扩展资源的云原生基础设施环境中发挥最佳作用。

上面提到的所有三个问题都可以通过使用云原生基础设施创建一个用于测试目的的专用集群来解决。云为设置高效的沙盒环境提供了急需的灵活性。它还减轻了开发人员的负担——已经在生产级别工作的经验丰富的管理员也可以维护共享的测试集群。

云原生环境中的自动化基础架构极大地促进了资源密集型应用程序的测试。基于云的自动化的好处是:

  • 能够横向扩展并通过只为您使用的内容付费来降低成本。
  • 应用程序定义和部署的标准化。
  • 与DevOps 管道的兼容性。
  • 如果团队彼此相距很远,适当的实例地理分布有助于克服延迟问题。

虽然理论上任何IaaS都可以用于此目的,但裸机解决方案往往表现最佳。使用该平台作为自动化基础架构的基础可确保专用资源且无虚拟化开销。

Bare Metal Cloud是专用平台的一个示例,它可以按需为 Kubernetes 集群提供对 CPU 和 RAM 资源的直接访问以加速性能。与传统的裸机服务器不同,裸机云以类似云的模型交付并在几分钟内完成部署。它还具有 API 和 CLI 以及对许多基础架构即代码集成的支持,使开发人员可以使用熟悉的工具对其进行管理。  

高效的沙箱还需要在灵活的基础架构上运行。这种灵活性最好通过使用由第三代智能英特尔® 至强® 可扩展处理器等组件构建的裸金属云服务器来实现,这些处理器可以针对许多不同的工作负载类型进行优化。

使用 Rancher 简化部署

简化集群部署的一种流行方法是使用Rancher来管理 Kubernetes 测试集群。Rancher 部署充当 Kubernetes 的易于使用但功能强大的 Web UI 和代理。它是完全开源的,支持所有经过认证的 K8s 发行版。对于本地部署,它使用 RKE(Rancher Kubernetes Engine);在云端,它支持 GKE、EKS 和 AKS,以及用于边缘工作负载的 K3S。

Rancher 为工作负载部署、秘密管理、负载平衡和集群健康监控提供了一个综合平台。它还具有用于配置服务器的内置 IaC 工具,可大大改善和简化测试体验。

在 Rancher 中部署应用程序是使用简洁明了的界面执行的。在 Rancher 中注册集群后,部署工作负载页面允许用户创建快速、可扩展的部署。

基于Kubernetes的测试

用户可以在 Workloads 页面上找到所有创建的工作负载。他们可以在此处查看或更改与 Pod 升级、调度和扩展相关的部署规则。

基于Kubernetes的测试

Rancher 为运营商提供集中的身份验证、可观察性和访问控制。它让开发人员和 QA 测试人员专注于编写代码和测试,因为他们与 Kubernetes 的交互可以归结为几次点击。

对于刚开始使用 Rancher 和 Kubernetes 的团队来说,启动和运行它们的最简单方法是通过云平台集成。Bare Metal Cloud 包括多个预装 Rancher 软件的实例,无需从头开始构建集成。  

结论

使用 Kubernetes 作为应用程序测试的首选选项可以帮助您更接近于模拟完整的生产环境,从而使 QA 更轻松、更高效。虽然 Kubernetes 可以在本地设置,但在使用云基础设施部署时,它的最佳功能会成为焦点。Rancher 等工具和 Bare Metal Cloud 等云原生环境有助于简化 Kubernetes 部署,并使开发人员和 QA 测试人员更容易专注于他们的工作。

Copyright © 2003-2020 香港服务器和服务器租用 梦飞数据中心 版权所有