Explorar o código

修改nginx配置

yangliu hai 2 meses
pai
achega
4fbd43e12c
Modificáronse 1 ficheiros con 31 adicións e 41 borrados
  1. 31 41
      Jenkinsfile

+ 31 - 41
Jenkinsfile

@@ -45,47 +45,37 @@ pipeline {
             }
         }
 
-        stage('🔐 配置 Ingress 控制器') {
-            when {
-                expression { params.DOMAIN?.trim() }
-            }
-            steps {
-                script {
-                    sh """
-                        export KUBECONFIG=${KUBECONFIG_PATH}
-
-                        echo ">>> 配置 Ingress 控制器为 LoadBalancer 类型..."
-
-                        # 检查 Ingress 控制器 Service 类型
-                        INGRESS_SERVICE_TYPE=\$(kubectl get svc ingress-nginx-controller -n ingress-nginx -o jsonpath='{.spec.type}')
-                        echo ">>> 当前 Ingress 控制器类型: \${INGRESS_SERVICE_TYPE}"
-
-                        if [ "\${INGRESS_SERVICE_TYPE}" != "LoadBalancer" ]; then
-                            echo ">>> 修改 Ingress 控制器为 LoadBalancer 类型..."
-                            kubectl patch svc ingress-nginx-controller -n ingress-nginx -p '{"spec":{"type":"LoadBalancer"}}'
-
-                            echo ">>> 等待 LoadBalancer 分配外部 IP..."
-                            kubectl wait --for=condition=Available --timeout=300s svc/ingress-nginx-controller -n ingress-nginx
-
-                            # 获取外部 IP
-                            EXTERNAL_IP=\$(kubectl get svc ingress-nginx-controller -n ingress-nginx -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
-                            if [ -n "\${EXTERNAL_IP}" ]; then
-                                echo "✅ Ingress 控制器获得外部 IP: \${EXTERNAL_IP}"
-                                echo ">>> 请将域名 ${params.DOMAIN} 解析到: \${EXTERNAL_IP}"
-                            else
-                                echo "⚠️  LoadBalancer 尚未分配外部 IP,请稍后检查"
-                            fi
-                        else
-                            echo "✅ Ingress 控制器已经是 LoadBalancer 类型"
-                            EXTERNAL_IP=\$(kubectl get svc ingress-nginx-controller -n ingress-nginx -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
-                            if [ -n "\${EXTERNAL_IP}" ]; then
-                                echo ">>> 当前外部 IP: \${EXTERNAL_IP}"
-                            fi
-                        fi
-                    """
-                }
-            }
-        }
+       stage('🔐 配置 Ingress 控制器') {
+           when {
+               expression { params.DOMAIN?.trim() }
+           }
+           steps {
+               script {
+                   sh """
+                       export KUBECONFIG=${KUBECONFIG_PATH}
+
+                       echo ">>> 配置 Ingress 控制器为 LoadBalancer 类型..."
+
+                       # 检查 Ingress 控制器 Service 类型
+                       INGRESS_SERVICE_TYPE=\$(kubectl get svc ingress-nginx-controller -n ingress-nginx -o jsonpath='{.spec.type}')
+                       echo ">>> 当前 Ingress 控制器类型: \${INGRESS_SERVICE_TYPE}"
+
+                       if [ "\${INGRESS_SERVICE_TYPE}" != "LoadBalancer" ]; then
+                           echo ">>> 修改 Ingress 控制器为 LoadBalancer 类型..."
+                           kubectl patch svc ingress-nginx-controller -n ingress-nginx -p '{"spec":{"type":"LoadBalancer"}}'
+                           echo "✅ Ingress 控制器已修改为 LoadBalancer 类型"
+                           echo "⚠️  注意:外部 IP 分配可能需要一些时间,请稍后检查"
+                       else
+                           echo "✅ Ingress 控制器已经是 LoadBalancer 类型"
+                       fi
+
+                       # 显示当前状态
+                       echo ">>> 当前 Ingress 控制器状态:"
+                       kubectl get svc ingress-nginx-controller -n ingress-nginx
+                   """
+               }
+           }
+       }
 
         stage('�� 验证 TLS Secret') {
             when {