k8s导出所有helm
目标:导出所有helm values.yaml,chart信息,namespace,输入大restore.sh脚本当中,然后执行restore.sh脚本,部署到另外一个k8s,实现快速灾难恢复
#!/bin/bash # 导出指定关键字的 helm release 配置 NAMESPACE_LIST=$(helm ls -A | egrep "java|golang|web" | awk '{print $2":"$1":"$9}') # namespace:release OUTPUT_DIR="./helm_export" mkdir -p $OUTPUT_DIR for ns_release in $NAMESPACE_LIST; do NAMESPACE=$(echo $ns_release | cut -d: -f1) RELEASE=$(echo $ns_release | cut -d: -f2) CHART=$(echo $ns_release | cut -d: -f3) CHART=${CHART%-*} echo "导出 release: $RELEASE (namespace: $NAMESPACE)" # 导出 values mkdir -pv $OUTPUT_DIR/$NAMESPACE helm -n $NAMESPACE get values $RELEASE -o yaml > $OUTPUT_DIR/$NAMESPACE/${RELEASE}-values.yaml sed -i 's/xxxx.xxx.xxx/xxx.xx.xxx/g' $OUTPUT_DIR/$NAMESPACE/${RELEASE}-values.yaml sed -i 's/master-.*/latest/g' $OUTPUT_DIR/$NAMESPACE/${RELEASE}-values.yaml echo "helm -n $NAMESPACE install $RELEASE bhpc/$CHART -f $OUTPUT_DIR/$NAMESPACE/${RELEASE}-values.yaml" >> restore.shdone echo "导出完成"