Difficulty: Beginner
Estimated Time: 20 minutes

Pod 实验篇

本系列将介绍使用 ChaosBlade Operator 在 Kubernetes 集群中进行混沌实验,本课程为系列课程第一节。

本教程列举了目前支持的所有 pod 混沌实验场景,但是每个场景不止有一种实验方式,用户可以通过调整参数进行不同的实验。

更多实验内容详见:https://github.com/sunny0826/chaosblade-operator-experiment

ChaosBlade 官方文档:https://chaosblade-io.gitbook.io/chaosblade-help-zh-cn

Pod 实验场景

Step 1 of 6

Step 1 - 实验准备

检查 Kubernetes 集群

使用前,检查 k8s 集群状态:kubectl cluster-info

如果集群未启动,请执行:launch.sh

实验准备

安装 ChaosBlade Operator

ChaosBlade-Operator 需要使用 Helm 安装,进入 release 页面 下载安装包(ChaosBlade 还提供了阿里云 OSS 的下载地址,提升国内下载速度)。

安装 Helm 3:

curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash

下载安装包

wget -qO chaosblade-operator-0.6.0.tgz https://github.com/chaosblade-io/chaosblade/releases/download/v0.6.0/chaosblade-operator-0.6.0-v3.tgz

为 chaosblade 创建一个 namespace:

kubectl create namespace chaosblade

安装 ChaosBlade-Operator:

helm install chaos chaosblade-operator-0.6.0.tgz --set webhook.enable=true --namespace=chaosblade

查看安装结果:

kubectl get pod -n chaosblade | grep chaosblade

ChaosBlade-Operator 启动后将会在每个节点部署一个 chaosblade-tool Pod 和一个 chaosblade-operator Pod,如果都运行正常,则安装成功。上面设置 --set webhook.enable=true 是为了 Pod 文件系统 I/O 故障实验,如果不需要进行该实验,则无需添加该设置。

安装 Guestbook

本实验使用 guestbook 应用。

add repo:

helm repo add apphub-incubator https://apphub.aliyuncs.com/incubator/

安装

helm install guestbook apphub-incubator/guestbook --set service.type=NodePort --namespace=chaosblade

默认的 Service 类型为 LoadBalancer,这里为了方便访问设置为了 NodePort

查看安装结果:

kubectl get pod -n chaosblade

等待所有 Pod 状态变为 Running