Verwaltung von Remote-Clustern
Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →
Einführung in Remote-Cluster
Chaos Mesh stellt die clusterweite RemoteCluster-Ressource bereit, um Ihnen die Verwaltung und Fehlerinjektion in entfernten Kubernetes-Clustern zu ermöglichen. Dieses Dokument beschreibt, wie Sie ein RemoteCluster-Objekt erstellen und zur Fehlerinjektion nutzen.
RemoteCluster befindet sich in einem frühen Entwicklungsstadium. Konfiguration und Funktionalität (z.B. Konfigurationsmigration, Versionsverwaltung und Authentifizierung) werden kontinuierlich verbessert. Bei Problemen öffnen Sie bitte ein Issue unter chaos-mesh/chaos-mesh.
Registrieren eines Remote-Clusters
Um einen Remote-Cluster in der auf dem aktuellen Cluster installierten Chaos Mesh zu registrieren, erstellen Sie eine RemoteCluster-Ressource. Nach der Erstellung werden automatisch notwendige Komponenten im Remote-Cluster installiert. Hier ein Beispiel für eine RemoteCluster-Ressource:
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
Dabei wird das chaos-mesh-Helm-Chart mit dem in .spec.kubeConfig angegebenen KUBECONFIG im spezifizierten Namespace installiert.
Feldbeschreibung
| Parameter | Type | Description | Default value | Required | Example |
|---|---|---|---|---|---|
| namespace | string | Represent the namespace to install Chaos Mesh components in the remote cluster | None | Yes | chaos-mesh |
| version | string | The version of Chaos Mesh to install in the remote cluster | None | Yes | 2.6.2 |
| kubeConfig.secretRef.name | string | The name of the secret, which is used to store the kubeconfig of remote cluster. This kubeconfig will be used to install chaos-mesh components and inject errors | None | Yes | remote-chaos-mesh.kubeconfig |
| kubeConfig.secretRef.namespace | string | The name of the namespace of the kubeconfig secret. | None | Yes | default |
| kubeConfig.secretRef.key | string | The key of the kubeconfig in the secret. | None | Yes | kubeconfig |
| configOverride | string | Passing helm values during install or upgrade | None | No | {"dashboard":{"create":true}} |
Fehler in Remote-Cluster injizieren
Zur Fehlerinjektion in einen registrierten RemoteCluster verwenden Sie das remoteCluster-Feld in der .spec jedes Chaos-Typs. Beispiel:
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 injiziert die Fehler in den Remote-Cluster unter Verwendung des mit RemoteCluster (Name cluster-xxx) registrierten Kubeconfig. Der entsprechende StressChaos wird automatisch im Remote-Cluster erstellt, und der Status wird zurück in den aktuellen Cluster synchronisiert. So können Sie Chaos-Injektionen für mehrere Cluster in einem einzigen Kubernetes verwalten.