使用 KubeSphere 快速部署 Chaos Mesh

2024-04-08 02:08

本文主要是介绍使用 KubeSphere 快速部署 Chaos Mesh,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Chaos Mesh 简介

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

1.png

KubeSphere 简介

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

2.png

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,点击搜索结果进入应用。

3.png

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

4.png

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

5.png

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

6.png

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

7.png

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

8.png

步骤 2: 访问 Chaos Mesh

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

9.png

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

10.png

步骤 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。

11.png

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

12.png

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

13.png

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

14.png

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

15.png

更多详情参考 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/

这篇关于使用 KubeSphere 快速部署 Chaos Mesh的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/884293

相关文章

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本