#!/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"} BATCH_SIZE=${BATCH_SIZE:-"1000"} LOG_LEVEL=${LOG_LEVEL:-"INFO"} DATA_PVC_NAME=${DATA_PVC_NAME:-"data-import-export-pvc"} # todo: 下面参数使用时需要修改 DB_HOST=${DB_HOST:-"xx-postgres-service"} DB_PORT=${DB_PORT:-"5432"} DB_NAME=${DB_NAME:-"xx"} DB_USER=${DB_USER:-"xx_db_user"} DB_PASSWORD=${DB_PASSWORD:-"xx_db_password"} # 导出变量用于envsubst export JOB_ID IMAGE_REPO IMAGE_TAG DATA_PVC_NAME export DB_HOST DB_PORT DB_NAME DB_USER DB_PASSWORD export BATCH_SIZE LOG_LEVEL # 检查模板文件 TEMPLATE_FILE="../k8s/job-templates/dbf-import-job.yaml" if [ ! -f "$TEMPLATE_FILE" ]; then echo "Template file not found: $TEMPLATE_FILE" exit 1 fi # 处理模板 OUTPUT_FILE="../k8s/jobs/dbf-import-job-${JOB_ID}.yaml" envsubst < "$TEMPLATE_FILE" > "$OUTPUT_FILE" # 部署Job kubectl apply -f "$OUTPUT_FILE" echo "Job deployed: dbf-import-job-${JOB_ID}" echo "To view logs: kubectl logs job/dbf-import-job-${JOB_ID}"