Skip to main content
版本:2.7.0

远程集群管理

远程集群介绍

Chaos Mesh 提供集群范围的 RemoteCluster 资源,帮助您管理故障并将故障注入远程 Kubernetes 集群。本文档描述了如何创建 RemoteCluster 对象并使用它来注入故障。

注意

RemoteCluster 尚处于早期阶段。它的配置和功能(例如配置迁移、版本管理和认证)将不断完善。如果您遇到任何问题,请在 chaos-mesh/chaos-mesh 中打开一个 issue 进行报告。

注册远程集群

要将远程集群注册到在当前集群上安装的 Chaos Mesh 中,您需要创建一个 RemoteCluster 资源。创建此资源后,必要的组件将自动安装在远程集群中。以下是 RemoteCluster 资源的示例:

apiVersion: chaos-mesh.org/v1alpha1
kind: RemoteCluster
metadata:
name: cluster-xxx
spec:
namespace: chaos-mesh
version: 2.6.2
kubeConfig:
secretRef:
name: remote-chaos-mesh.kubeconfig
namespace: chaos-mesh
key: kubeconfig
# configOverride:
# dashboard:
# create: true

它将使用 .spec.kubeConfig 字段中提供的 KUBECONFIG 在指定命名空间安装 chaos-mesh

字段说明

参数类型说明默认值是否必填示例
namespacestring在远程集群中安装 Chaos Mesh 的命名空间chaos-mesh
versionstring在远程集群中安装 Chaos Mesh 的版本2.6.2
kubeConfig.secretRef.namestring用于存储远程集群的 kubeconfig 的 secret 的名称。该 kubeconfig 将用于安装 chaos-mesh 组件并注入故障remote-chaos-mesh.kubeconfig
kubeConfig.secretRef.namespacestringkubeconfig secret 所在的命名空间名称。default
kubeConfig.secretRef.keystringsecret 中 kubeconfig 所在的键。kubeconfig
configOverridestring在安装或升级期间传递的 helm 值{"dashboard":{"create":true}}

在远程集群中注入故障

要使用注册的 RemoteCluster 将故障注入到远程集群,您可以使用每种 chaos 类型的 .spec 中的 remoteCluster 字段。 例如:

apiVersion: chaos-mesh.org/v1alpha1
kind: StressChaos
metadata:
name: burn-cpu
spec:
remoteCluster: cluster-xxx
mode: one
selector:
labelSelectors:
'app.kubernetes.io/component': 'tikv'
stressors:
cpu:
workers: 1
load: 100
options: ['--cpu 2', '--timeout 600', '--hdd 1']
duration: '30s'

Chaos Mesh 将使用注册到名为 cluster-xxxRemoteCluster 的 kubeconfig 将故障注入到远程集群。相应的 StressChaos 将在远程集群中自动创建,并将状态同步回当前集群,以便您可以在单个 kubernetes 中管理多个不同集群的故障注入。