下载安装包
- 从github下载releases包
chaosblade-io/chaosblade-operator/releases
chaosblade-io/chaosblade-operator/archive/refs/tags/v1.7.3.tar.gz - 查看helm使用的容器源
#解压缩
tar -zxvf chaosblade-operator-1.7.3.tar.gz
#查看helm配置
cat ./chaosblade-operator-1.7.3/deploy/helm/chaosblade-operator/values.yaml
配置内容如下:
operator:
repository: ghcr.io/chaosblade-io/chaosblade-operator
version: 1.7.3
# image.pullPolicy: must be Always|IfNotPresent|Never
pullPolicy: IfNotPresent
# qps of kubernetes client
qps: 20
reconcileCount: 20
blade:
repository: ghcr.io/chaosblade-io/chaosblade-tool
version: 1.7.3
pullPolicy: IfNotPresent
downloadUrl: ""
可看出有两个repository, docker镜像是外网地址。
把他们下载到本地,再传到harbor私服。最后修改该文件,使用私服的地址。
- 修改文件,并重新打包
./chaosblade-operator-1.7.3/deploy/helm/chaosblade-operator/values.yaml
#修改项如下
operator:
repository: harbor.local.cn/chaosblade-io/chaosblade-operator
blade:
repository: harbor.local.cn/chaosblade-io/chaosblade-tool
打包
tar -zcvf chaosblade-operator-1.7.3-dw.tar.gz chaosblade-operator-1.7.3
上传image到私服
下载镜像到本地
近期很多docker mirror被禁用,可使用Aone学加速,或者其他方式
docker pull ghcr.io/chaosblade-io/chaosblade-operator
docker pull ghcr.io/chaosblade-io/chaosblade-tool
# 查看本地镜像
docker images
登录harbor私服
docker login harbor.local.cn
标记并上传到私服
docker tag ghcr.io/chaosblade-io/chaosblade-operator:1.7.3 harbor.local.cn/chaosblade-io/chaosblade-operator:1.7.3
docker push harbor.local.cn/chaosblade-io/chaosblade-operator:1.7.3
docker tag ghcr.io/chaosblade-io/chaosblade-tool:1.7.3 harbor.local.cn/datawings/chaosblade-io/chaosblade-tool:1.7.3
docker push harbor.local.cn/datawings/chaosblade-io/chaosblade-tool:1.7.3
访问harbor页面确认是否上传成功
通过helm安装chaosblade-operator
安装helm
tar -zxvf helm-v3.13.3-linux-amd64.tar.gz
cp linux-amd64/helm /usr/bin
通过helm安装chaosblade-operator
tar -zxvf chaosblade-operator-1.7.3-dw.tar.gz
cd chaosblade-operator-1.7.3
# chaosblade-operator 根目录下
cd deploy/helm
# linux/amd64
helm package ./chaosblade-operator
kubectl create ns chaosblade
helm install chaosblade chaosblade-operator-1.7.3.tgz --namespace chaosblade
查看安装情况
[root@dwxx helm]# kubectl get pods -n chaosblade
NAME READY STATUS RESTARTS AGE
chaosblade-operator-67df849f7b-f8cb2 1/1 Running 0 8m50s
chaosblade-tool-h2v5q 1/1 Running 0 8m48s
chaosblade-tool-l7fsl 1/1 Running 0 8m49s
chaosblade-tool-pw4q6 1/1 Running 0 8m48s
chaosblade-tool-q6fhh 1/1 Running 0 8m50s
chaosblade-tool-rhvkv 1/1 Running 0 8m48s
chaosblade-tool-wlnqg 1/1 Running 0 8m49s
卸载
kubectl delete crd chaosblades.chaosblade.io
helm uninstall chaosblade-operator -n chaosblade
helm uninstall chaosblade-operator -n kube-system
安装异常问题
如果helm install 出现如下问题,可删除相关内容
Error: INSTALLATION FAILED: rendered manifests contain a resource that already exists.
Unable to continue with install: ClusterRole "chaosblade" in namespace "" exists
and cannot be imported into the current release: invalid ownership metadata;
annotation validation error: key "meta.helm.sh/release-name" must equal "chaosblade": current value is "chaosblade-operator";
annotation validation error: key "meta.helm.sh/release-namespace" must equal "chaosblade": current value is "chaos-mesh"
按提示的内容,执行相关删除命令,参考如下
kubectl delete ClusterRole chaosblade
kubectl delete ClusterRoleBinding chaosblade
kubectl delete MutatingWebhookConfiguration chaosblade-operator