点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!
1.1 设置yum源
```bash
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
```
```bash
sed -i 's/$releasever/8/g' etc/yum.repos.d/docker-ce.repo
```
1.2 下载 docker-ce的相关rpm包
```bash
yum download docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin container-selinux libcgroup
```
1.3 下载kind相关包
```
[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://mirror.ghproxy.com/https://github.com/kubernetes-sigs/kind/releases/download/v0.20.0/kind-linux-amd64
docker pull dockerproxy.com/kindest/node:v1.27.3
docker save -o kind.v1.27.3.tar kindest/node:v1.27.3
# 下载对应版本的kubectl
curl -LO "https://dl.k8s.io/release/v1.27.3/bin/linux/amd64/kubectl"
```
1.4 下载helm
```bash
wget https://get.helm.sh/helm-v3.13.3-linux-amd64.tar.gz
```
1.5 下载registry镜像
```bash
docker pull registry:2.8.3
docker save registry:2.8.3 > registry.tar
```
1.6 下载 ChaosMesh
```
export CHAOS_MESH_VERSION=v2.6.2
docker pull ghcr.dockerproxy.com/chaos-mesh/chaos-mesh:${CHAOS_MESH_VERSION}
docker pull ghcr.dockerproxy.com/chaos-mesh/chaos-daemon:${CHAOS_MESH_VERSION}
docker pull ghcr.dockerproxy.com/chaos-mesh/chaos-dashboard:${CHAOS_MESH_VERSION}
docker tag ghcr.dockerproxy.com/chaos-mesh/chaos-mesh:${CHAOS_MESH_VERSION} ghcr.io/chaos-mesh/chaos-mesh:${CHAOS_MESH_VERSION}
docker tag ghcr.dockerproxy.com/chaos-mesh/chaos-daemon:${CHAOS_MESH_VERSION} ghcr.io/chaos-mesh/chaos-daemon:${CHAOS_MESH_VERSION}
docker tag ghcr.dockerproxy.com/chaos-mesh/chaos-dashboard:${CHAOS_MESH_VERSION} ghcr.io/chaos-mesh/chaos-dashboard:${CHAOS_MESH_VERSION}
docker save ghcr.io/chaos-mesh/chaos-mesh:${CHAOS_MESH_VERSION} > image-chaos-mesh.tar
docker save ghcr.io/chaos-mesh/chaos-daemon:${CHAOS_MESH_VERSION} > image-chaos-daemon.tar
docker save ghcr.io/chaos-mesh/chaos-dashboard:${CHAOS_MESH_VERSION} > image-chaos-dashboard.tar
curl -fsSL -o chaos-mesh.zip https://github.com/chaos-mesh/chaos-mesh/archive/refs/heads/master.zip
```
- helm-v3.13.3-linux-amd64.tar.gz
2.1 安装docker-ce
```
yum install *.rpm
systemctl enable docker
systemctl start docker
```
2.2 安装kubectl
```bash
cp kubectl usr/local/bin
```
```
[root@snc-host1 rpm-pkg]# kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short. Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.3", GitCommit:"25b4e43193bcda6c7328a6d147b1fb73a33f1598", GitTreeState:"clean", BuildDate:"2023-06-14T09:53:42Z", GoVersion:"go1.20.5", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v5.0.1
Server Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.3", GitCommit:"25b4e43193bcda6c7328a6d147b1fb73a33f1598", GitTreeState:"clean", BuildDate:"2023-06-15T00:36:28Z", GoVersion:"go1.20.5", Compiler:"gc", Platform:"linux/amd64"}
```
2.3 导入镜像
```
docker load < registry.tar
docker load < image-chaos-mesh.tar
docker load < image-chaos-daemon.tar
docker load < image-chaos-dashboard.tar
docker load < kind.v1.27.3.tar
```
2.4 安装kind,并创建Kubernetes集群
```
chmod +x ./kind
mv ./kind /usr/local/bin/kind
kind create cluster --name kind-2 --image kindest/node:v1.27.3
```
2.5 安装helm
```
tar -xvf helm-v3.13.3-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
```
2.6 安装registry
```
docker run -d -p 5000:5000 --restart always --name registry registry:2.8.3
```
```json
{
"insecure-registries": ["10.143.26.27:5000"]
}
```
```bash
systemdctl daemon-reload
systemdctl restart docker
```
2.7 安装chaosmesh
```
export CHAOS_MESH_VERSION=v2.6.2; export DOCKER_REGISTRY=10.143.26.27:5000
export CHAOS_MESH_IMAGE=$DOCKER_REGISTRY/chaos-mesh/chaos-mesh:${CHAOS_MESH_VERSION}
export CHAOS_DAEMON_IMAGE=$DOCKER_REGISTRY/chaos-mesh/chaos-daemon:${CHAOS_MESH_VERSION}
export CHAOS_DASHBOARD_IMAGE=$DOCKER_REGISTRY/chaos-mesh/chaos-dashboard:${CHAOS_MESH_VERSION}
docker image tag ghcr.io/chaos-mesh/chaos-mesh:${CHAOS_MESH_VERSION} $CHAOS_MESH_IMAGE
docker image tag ghcr.io/chaos-mesh/chaos-daemon:${CHAOS_MESH_VERSION} $CHAOS_DAEMON_IMAGE
docker image tag ghcr.io/chaos-mesh/chaos-dashboard:${CHAOS_MESH_VERSION} $CHAOS_DASHBOARD_IMAGE
docker push $CHAOS_MESH_IMAGE
docker push $CHAOS_DAEMON_IMAGE
docker push $CHAOS_DASHBOARD_IMAGE
unzip chaos-mesh.zip -d chaos-mesh && cd chaos-mesh
kubectl create ns chaos-mesh
helm install chaos-mesh helm/chaos-mesh -n chaos-mesh --set images.registry=10.143.26.27:5000
kubectl get pods --namespace chaos-mesh -l app.kubernetes.io/instance=chaos-mesh
kubectl describe pod chaos-controller-manager-5b55ddd998-bssrd -n chaos-mesh
```
```bash
kubectl port-forward --address 10.143.26.27 -n chaos-mesh svc/chaos-mesh-service 2333:2333
```
根据页面提示生成token,也可参考[官方文档] https://chaos-mesh.org/zh/docs/manage-user-permissions/
注意事项:
```bash
echo "
[plugins."io.containerd.grpc.v1.cri".registry]
config_path = ""
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."10.143.26.27:5000"]
endpoint = ["http://10.143.26.27:5000"]
[plugins."io.containerd.grpc.v1.cri".registry.configs]
[plugins."io.containerd.grpc.v1.cri".registry.configs."10.143.26.27:5000".tls]
# insecure_skip_verify = true
skip_verify = true
" >> /etc/containerd/config.toml

本文作者:王玉坤(上海新炬中北团队)
本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




