37 lines
1.1 KiB
Bash
37 lines
1.1 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# 默认配置
|
|
JOB_ID=$(date +%Y%m%d-%H%M%S)
|
|
IMAGE_REPO=${IMAGE_REPO:-"harbor.dc.teramesh.cn/idrc/tools"}
|
|
IMAGE_TAG=${IMAGE_TAG:-"latest"}
|
|
DATA_PVC_NAME=${DATA_PVC_NAME:-"databridge-data-pvc"}
|
|
DB_HOST=${DB_HOST:-"postgres-service"}
|
|
DB_PORT=${DB_PORT:-"5432"}
|
|
DB_NAME=${DB_NAME:-"energy_data"}
|
|
DB_USER=${DB_USER:-"db_user"}
|
|
DB_PASSWORD=${DB_PASSWORD:-"db_password"}
|
|
EXPORT_QUERY=${EXPORT_QUERY:-"SELECT * FROM source_table"}
|
|
LOG_LEVEL=${LOG_LEVEL:-"INFO"}
|
|
|
|
# 导出变量用于envsubst
|
|
export JOB_ID IMAGE_REPO IMAGE_TAG DATA_PVC_NAME
|
|
export DB_HOST DB_PORT DB_NAME DB_USER DB_PASSWORD
|
|
export EXPORT_QUERY LOG_LEVEL
|
|
|
|
# 检查模板文件
|
|
TEMPLATE_FILE="../k8s/job-templates/csv-export-job.yaml"
|
|
if [ ! -f "$TEMPLATE_FILE" ]; then
|
|
echo "Template file not found: $TEMPLATE_FILE"
|
|
exit 1
|
|
fi
|
|
|
|
# 处理模板
|
|
OUTPUT_FILE="../k8s/jobs/csv-export-${JOB_ID}.yaml"
|
|
envsubst < "$TEMPLATE_FILE" > "$OUTPUT_FILE"
|
|
|
|
# 部署Job
|
|
kubectl apply -f "$OUTPUT_FILE"
|
|
|
|
echo "Job deployed: databridge-csv-export-${JOB_ID}"
|
|
echo "To view logs: kubectl logs job/databridge-csv-export-${JOB_ID}" |