使用 KubeSphere 快速部署 Chaos Mesh

Chaos Mesh 简介

Chaos Mesh 是一个开源的云原生混沌工程平台,提供丰富的故障模拟类型,具有强大的故障场景编排能力,方便用户在开发测试中以及生产环境中模拟现实世界中可能出现的各类异常,帮助用户发现系统潜在的问题。

使用 KubeSphere 快速部署 Chaos Mesh_第1张图片

KubeSphere 简介

KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器平台,完全开源,支持多云与多集群管理,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。

使用 KubeSphere 快速部署 Chaos Mesh_第2张图片

KubeSphere 3.2.0 新增了 “动态加载应用商店” 的功能,合作伙伴可将应用的 Helm Chart 集成到 KubeSphere 应用商店,即可动态加载应用,不再受到 KubeSphere 版本的限制。Chaos Mesh 已经通过这种方式将 Helm Chart 集成到了 KubeSphere 3.2.0,方便用户一键部署应用至 Kubernetes。本教程演示了如何在 KubeSphere 上部署 Chaos Mesh 进行混沌实验。

准备工作

  • 部署 KubeSphere 应用商店
  • 您需要为本教程创建一个企业空间、一个项目和两个帐户(ws-admin 和 project-regular)。帐户 ws-admin 必须在企业空间中被赋予 workspace-admin 角色,帐户 project-regular 必须被邀请至项目中赋予 operator 角色。若还未创建好,请参考创建企业空间、项目、用户和角色
    开始混沌实验

    步骤 1: 部署 Chaos Mesh

  1. 使用 project-regular 身份登陆,在应用市场中搜索 chaos-mesh,点击搜索结果进入应用。

使用 KubeSphere 快速部署 Chaos Mesh_第3张图片

  1. 进入应用信息页后,点击右上角 “安装” 按钮。

使用 KubeSphere 快速部署 Chaos Mesh_第4张图片

  1. 进入应用设置页面,可以设置应用名称(默认会随机一个唯一的名称)和选择安装的位置(对应的 Namespace) 和版本,然后点击右上角 “下一步”。

使用 KubeSphere 快速部署 Chaos Mesh_第5张图片

  1. 根据实际需要编辑 values.yaml 文件,也可以直接点击“安装”使用默认配置。

使用 KubeSphere 快速部署 Chaos Mesh_第6张图片

  1. 等待 Chaos Mesh 开始正常运行。

使用 KubeSphere 快速部署 Chaos Mesh_第7张图片

  1. 访问 “应用负载“, 可以看到 Chaos Mesh 创建的三个部署。

使用 KubeSphere 快速部署 Chaos Mesh_第8张图片

步骤 2: 访问 Chaos Mesh

  1. 前往应用负载下服务页面,复制 chaos-dashboard 的 NodePort。

使用 KubeSphere 快速部署 Chaos Mesh_第9张图片

  1. 您可以通过 ${NodeIP}:${NODEPORT} 方式访问 Chaos Dashboard。并参考管理用户权限文档,生成 Token,并登陆 Chaos Dashboard。

使用 KubeSphere 快速部署 Chaos Mesh_第10张图片

步骤 3: 创建混沌实验

  1. 在开始混沌实验之前,需要先确定并部署您的实验目标,比如,测试某应用在网络延时下的工作状态。本文使用了一个 demo 应用 web-show 作为待测试目标,观测系统网络延迟。 你可以使用下面命令部署一个 Demo 应用 web-show
curl -sSL https://mirrors.chaos-mesh.org/latest/web-show/deploy.sh | bash
注: web-show 应用页面上可以直接观察到自身到 kube-system 命名空间下 Pod 的网络延迟。
  1. 访问 web-show 应用程序。从您的网络浏览器,进入 ${NodeIP}:8081。

使用 KubeSphere 快速部署 Chaos Mesh_第11张图片

  1. 登陆 Chaos Dashboard 创建混沌实验,为了更好的观察混沌实验效果,这里只创建一个独立的混沌实验,混沌实验的类型选择“网络攻击”,模拟网络延迟的场景:

使用 KubeSphere 快速部署 Chaos Mesh_第12张图片

实验范围设置为 web-show 应用:

使用 KubeSphere 快速部署 Chaos Mesh_第13张图片

  1. 提交混沌实验后,查看实验状态:

使用 KubeSphere 快速部署 Chaos Mesh_第14张图片

  1. 访问 web-show 应用观察实验结果 :

使用 KubeSphere 快速部署 Chaos Mesh_第15张图片

更多详情参考 Chaos Mesh 使用文档

总结

KubeSphere 容器平台对云原生应用部署非常友好,提供的 KubeSphere 应用商城实现了真正的一键部署,用户可以非常方便在 KubeSphere 上一键部署 Chaos Mesh,帮助用户快速开始自己的混沌实验。

Chaos Mesh 在 2021 年成长了许多。为了更多地了解用户在实践混沌工程方面的经验,以便持续完善和提升对用户的支持,社区发起了 Chaos Mesh 用户问卷调查,点击【阅读原文】参与调查,谢谢!

参考链接:

Chaos Mesh GitHub: https://github.com/chaos-mesh/chaos-mesh

KubeSphere GitHub: https://github.com/kubesphere/kubesphere

KubeSphere 应用商店: https://kubesphere.io/zh/docs/pluggable-components/app-store/

在 KubeSphere 中创建企业空间、项目、用户和角色: https://kubesphere.io/zh/docs/quick-start/create-workspace-and-project/

如何在 Chaos Mesh 中进行用户权限管理: https://chaos-mesh.org/zh/docs/manage-user-permissions/

Chaos Mesh 使用文档: https://chaos-mesh.org/zh/docs/

你可能感兴趣的:(数据库)