#!/bin/bash # Tank War Server K8s部署脚本 set -e # 配置变量 IMAGE_NAME="tankwar-server" K8S_NAMESPACE="tankwar" K8S_CONFIG="k8s-deployment.yaml" # 检查Docker是否运行 if ! docker info > /dev/null 2>&1; then echo "错误: Docker守护进程未运行" exit 1 fi # 构建Docker镜像 echo "构建Docker镜像..." docker build -t $IMAGE_NAME:latest . # 登录到目标K8s集群(假设已配置kubectl) echo "检查Kubernetes集群连接..." kubectl cluster-info # 创建命名空间(如果不存在) echo "创建命名空间..." kubectl create namespace $K8S_NAMESPACE --dry-run=client -o yaml | kubectl apply -f - # 部署应用到K8s echo "部署应用到Kubernetes..." kubectl apply -f $K8S_CONFIG -n $K8S_NAMESPACE # 等待部署完成 echo "等待部署完成..." kubectl rollout status deployment/tankwar-server -n $K8S_NAMESPACE --timeout=300s # 获取服务信息 echo "获取服务信息..." kubectl get svc tankwar-server-service -n $K8S_NAMESPACE echo "部署完成!" echo "使用以下命令查看Pod状态:" echo "kubectl get pods -n $K8S_NAMESPACE" echo "" echo "使用以下命令查看日志:" echo "kubectl logs -l app=tankwar-server -n $K8S_NAMESPACE"