f23.sh 1.37 KB
#!/bin/bash

echo "=== 更新前端 Deployment 覆盖主 nginx.conf ==="

echo "更新 volumeMounts 覆盖主配置文件:"
kubectl patch deployment frontend -n ecommerce --type='json' -p='[
  {
    "op": "replace",
    "path": "/spec/template/spec/containers/0/volumeMounts",
    "value": [
      {
        "name": "nginx-main-config",
        "mountPath": "/etc/nginx/nginx.conf",
        "subPath": "nginx.conf"
      },
      {
        "name": "environment-config", 
        "mountPath": "/usr/share/nginx/html/env.js",
        "subPath": "environment.js"
      }
    ]
  }
]'

echo ""
echo "更新 volumes 使用新的 ConfigMap:"
kubectl patch deployment frontend -n ecommerce --type='json' -p='[
  {
    "op": "replace",
    "path": "/spec/template/spec/volumes",
    "value": [
      {
        "name": "nginx-main-config",
        "configMap": {
          "name": "frontend-nginx-main-config",
          "items": [
            {
              "key": "nginx.conf",
              "path": "nginx.conf"
            }
          ]
        }
      },
      {
        "name": "environment-config",
        "configMap": {
          "name": "frontend-config",
          "items": [
            {
              "key": "environment.js",
              "path": "env.js"
            }
          ]
        }
      }
    ]
  }
]'

echo ""
echo "重启前端:"
kubectl rollout restart deployment frontend -n ecommerce