解决kuboard ETCD提示数据空间不足问题


#!/bin/bash

# 设置日志文件路径
LOG_FILE="/root/crontab_etcd/etcd_maintenance.log"

# 函数:执行kubectl命令并记录日志
run_kubectl_command() {
    echo "$(date): Running command: $1" >> $LOG_FILE
    kubectl exec -it kuboard-v3-gp-kuboard -n kuboard -- sh -c "$1" >> $LOG_FILE 2>&1
    echo "$(date): Command completed." >> $LOG_FILE
    echo "" >> $LOG_FILE
}

# 主要操作
echo "$(date): Starting etcd maintenance script" >> $LOG_FILE

# 列出警报
run_kubectl_command "etcdctl --endpoints=http://127.0.0.1:2379 alarm list"

# 获取当前修订版本号
rev=$(kubectl exec -it kuboard-v3-gp-kuboard -n kuboard -- sh -c "etcdctl --endpoints=http://127.0.0.1:2379 endpoint status --write-out='json' | grep -o '\"revision\":[0-9]*' | grep -o '[0-9].*'")
echo "$(date): Current revision: $rev" >> $LOG_FILE

# 压缩到当前修订版本
run_kubectl_command "etcdctl --endpoints=http://127.0.0.1:2379 compact $rev"

# 碎片整理
run_kubectl_command "etcdctl --endpoints=http://127.0.0.1:2379 defrag --command-timeout=10s"

# 解除警报
run_kubectl_command "etcdctl --endpoints=http://127.0.0.1:2379 alarm disarm"

echo "$(date): etcd maintenance script completed" >> $LOG_FILE
echo "----------------------------------------" >> $LOG_FILE
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容