You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by le...@apache.org on 2022/06/29 12:57:22 UTC

[incubator-linkis] branch dev-1.3.0 updated: Added k8S deployment file and Jenkins pipeline profile (#2342)

This is an automated email from the ASF dual-hosted git repository.

legendtkl pushed a commit to branch dev-1.3.0
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git


The following commit(s) were added to refs/heads/dev-1.3.0 by this push:
     new c7cdf8a7a Added k8S deployment file and Jenkins pipeline profile (#2342)
c7cdf8a7a is described below

commit c7cdf8a7af31b8c11d273eb6dd4d41c79a066bed
Author: jack tao <79...@qq.com>
AuthorDate: Wed Jun 29 20:57:17 2022 +0800

    Added k8S deployment file and Jenkins pipeline profile (#2342)
    
    * Added k8S deployment file and Jenkins pipeline profile
    
    * fix license
    
    * Create publish-docker.yaml
    
    * Update build.yml
    
    * Update build.yml
    
    * Update publish-docker.yaml
    
    * Update publish-docker.yaml
    
    * add metadata service and data source manager service
    remove node port
    add ingress
    add log volume
    change the imagePullPolicy to IfNotPresent
    add headless service
    
    * fix jenkinsfile
    
    * fix metadatamanager
    
    * Update Jenkinsfile
    
    * Update linkis.yaml
    
    * Update build.yml
---
 .github/workflows/publish-docker.yaml              |   80 ++
 Jenkinsfile                                        |  148 ++
 .../sbin/k8s/linkis-cg-engineconnmanager.sh        |   37 +
 .../sbin/k8s/linkis-cg-engineplugin.sh             |   37 +
 .../sbin/k8s/linkis-cg-entrance.sh                 |   37 +
 .../sbin/k8s/linkis-cg-linkismanager.sh            |   37 +
 .../assembly-combined/sbin/k8s/linkis-mg-eureka.sh |   39 +
 .../sbin/k8s/linkis-mg-gateway.sh                  |   37 +
 .../assembly-combined/sbin/k8s/linkis-ps-cs.sh     |   37 +
 .../sbin/k8s/linkis-ps-data-source-manager.sh      |   38 +
 .../sbin/k8s/linkis-ps-metadatamanager.sh          |   41 +
 .../sbin/k8s/linkis-ps-publicservice.sh            |   37 +
 .../linkis-cg-engineconnmanager.Dockerfile         |   24 +
 k8s/Dockerfile/linkis-cg-engineplugin.Dockerfile   |   28 +
 k8s/Dockerfile/linkis-cg-entrance.Dockerfile       |   25 +
 k8s/Dockerfile/linkis-cg-linkismanager.Dockerfile  |   25 +
 k8s/Dockerfile/linkis-mg-eureka.Dockerfile         |   24 +
 k8s/Dockerfile/linkis-mg-gateway.Dockerfile        |   24 +
 k8s/Dockerfile/linkis-ps-cs.Dockerfile             |   25 +
 .../linkis-ps-data-source-manager.Dockerfile       |   25 +
 .../linkis-ps-metadatamanager.Dockerfile           |   25 +
 k8s/Dockerfile/linkis-ps-publicservice.Dockerfile  |   25 +
 k8s/Dockerfile/linkis-web.Dockerfile               |   18 +
 k8s/README.md                                      |   87 ++
 k8s/base/linkis-base.Dockerfile                    |   60 +
 k8s/yaml/configmap/hadoop-configmap.yaml           | 1502 ++++++++++++++++++++
 k8s/yaml/configmap/hive-configmap.yaml             |  259 ++++
 k8s/yaml/configmap/linkis-configmap.yaml           |  719 ++++++++++
 k8s/yaml/configmap/spark-configmap.yaml            |   46 +
 k8s/yaml/ingress/linkis.yaml                       |   28 +
 k8s/yaml/linkis-cg-engineconnmanager.yaml          |   92 ++
 k8s/yaml/linkis-cg-engineplugin.yaml               |   93 ++
 k8s/yaml/linkis-cg-entrance.yaml                   |   93 ++
 k8s/yaml/linkis-cg-linkismanager.yaml              |   92 ++
 k8s/yaml/linkis-mg-eureka.yaml                     |   79 +
 k8s/yaml/linkis-mg-gateway.yaml                    |   79 +
 k8s/yaml/linkis-ps-cs.yaml                         |   76 +
 k8s/yaml/linkis-ps-data-source-manager.yaml        |   76 +
 k8s/yaml/linkis-ps-metadatamanager.yaml            |   76 +
 k8s/yaml/linkis-ps-publicservice.yaml              |   76 +
 k8s/yaml/linkis-web.yaml                           |  112 ++
 41 files changed, 4518 insertions(+)

diff --git a/.github/workflows/publish-docker.yaml b/.github/workflows/publish-docker.yaml
new file mode 100644
index 000000000..77812510b
--- /dev/null
+++ b/.github/workflows/publish-docker.yaml
@@ -0,0 +1,80 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: Build
+
+on:
+  push:
+    branches:
+      - dev-1.3.0
+jobs:
+  build:
+    runs-on: ubuntu-latest
+ 
+    steps:
+    - name: Checkout
+      uses: actions/checkout@v2
+    - name: Set up JDK 8
+      uses: actions/setup-java@v2
+      with:
+        distribution: 'adopt'
+        java-version: 8
+    - name: Use Node.js ${{ matrix.node-version }}
+      uses: actions/setup-node@v2
+      with:
+        node-version: ${{ matrix.node-version }}
+    - name: Build backend by maven
+      run: |
+          ./mvnw -N install
+          ./mvnw clean package
+    - name: Build frontend by node.js
+      run: |
+          cd web
+          sed -i \'/VUE_APP_MN_CONFIG_PREFIX/d\' .env
+          npm install
+          npm run build
+    - name: Build Docker Image
+      run: |
+        docker build -f k8s/Dockerfile/linkis-mg-gateway.Dockerfile -t linkis-mg-gateway:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+        docker build -f k8s/Dockerfile/linkis-mg-eureka.Dockerfile -t linkis-mg-gateway:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+        docker build -f k8s/Dockerfile/linkis-ps-publicservice.Dockerfile -t linkis-ps-publicservice:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+        docker build -f k8s/Dockerfile/linkis-ps-cs.Dockerfile -t linkis-ps-cs:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+        docker build -f k8s/Dockerfile/linkis-cg-linkismanager.Dockerfile -t linkis-cg-linkismanager:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+        docker build -f k8s/Dockerfile/linkis-cg-entrance.Dockerfile -t linkis-cg-entrance:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+        docker build -f k8s/Dockerfile/linkis-cg-engineplugin.Dockerfile -t linkis-cg-engineplugin:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+        docker build -f k8s/Dockerfile/linkis-cg-engineconnmanager.Dockerfile -t linkis-cg-engineconnmanager:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+        docker build -f k8s/Dockerfile/linkis-web.Dockerfile -t linkis-web:1.2.0 ./web
+    - name: Push Docker Image
+      run: |
+        docker tag linkis-mg-gateway:1.2.0 registry.mydomain.com/library/linkis-mg-gateway:1.2.0
+        docker push registry.mydomain.com/library/linkis-mg-gateway:1.2.0
+        docker tag linkis-mg-eureka:1.2.0 registry.mydomain.com/library/linkis-mg-eureka:1.2.0
+        docker push registry.mydomain.com/library/linkis-mg-eureka:1.2.0
+        docker tag linkis-ps-publicservice:1.2.0 registry.mydomain.com/library/linkis-ps-publicservice:1.2.0
+        docker push registry.mydomain.com/library/linkis-ps-publicservice:1.2.0
+        docker tag linkis-ps-cs:1.2.0 registry.mydomain.com/library/linkis-ps-cs:1.2.0
+        docker push registry.mydomain.com/library/linkis-ps-cs:1.2.0
+        docker tag linkis-cg-linkismanager:1.2.0 registry.mydomain.com/library/linkis-cg-linkismanager:1.2.0
+        docker push registry.mydomain.com/library/linkis-cg-linkismanager:1.2.0
+        docker tag linkis-cg-entrance:1.2.0 registry.mydomain.com/library/linkis-cg-entrance:1.2.0
+        docker push registry.mydomain.com/library/linkis-cg-entrance:1.2.0
+        docker tag linkis-cg-engineplugin:1.2.0 registry.mydomain.com/library/linkis-cg-engineplugin:1.2.0
+        docker push registry.mydomain.com/library/linkis-cg-engineplugin:1.2.0
+        docker tag linkis-cg-engineconnmanager:1.2.0 registry.mydomain.com/library/linkis-cg-engineconnmanager:1.2.0
+        docker push registry.mydomain.com/library/linkis-cg-engineconnmanager
+        docker tag linkis-web:1.2.0 registry.mydomain.com/library/linkis-web:1.2.0
+        docker push registry.mydomain.com/library/linkis-web:1.2.0
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 000000000..0378431e9
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,148 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+pipeline {
+  agent {
+    node {
+      label 'node2'
+    }
+
+  }
+  stages {
+    stage('build package') {
+      steps {
+        echo 'start build'
+        sh '''source /etc/profile
+mvn -N install
+mvn clean install -DskipTests
+'''
+      }
+    }
+
+    stage('build image') {
+      steps {
+        echo 'Build Docker Image Stage'
+        sh '''docker build -f k8s/Dockerfile/linkis-mg-gateway.Dockerfile -t linkis-mg-gateway:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+
+docker build -f k8s/Dockerfile/linkis-mg-eureka.Dockerfile -t linkis-mg-gateway:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+
+docker build -f k8s/Dockerfile/linkis-ps-publicservice.Dockerfile -t linkis-ps-publicservice:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+
+docker build -f k8s/Dockerfile/linkis-ps-cs.Dockerfile -t linkis-ps-cs:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+
+docker build -f k8s/Dockerfile/linkis-cg-linkismanager.Dockerfile -t linkis-cg-linkismanager:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+
+docker build -f k8s/Dockerfile/linkis-cg-entrance.Dockerfile -t linkis-cg-entrance:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+
+docker build -f k8s/Dockerfile/linkis-cg-engineplugin.Dockerfile -t linkis-cg-engineplugin:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+
+docker build -f k8s/Dockerfile/linkis-cg-engineconnmanager.Dockerfile -t linkis-cg-engineconnmanager:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+
+docker build -f k8s/Dockerfile/linkis-ps-metadatamanager.Dockerfile -t linkis-ps-metadatamanager:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+
+docker build -f k8s/Dockerfile/linkis-ps-data-source-manager.Dockerfile -t linkis-ps-data-source-manager:1.2 ./assembly-combined-package/target/apache-linkis-1.1.0-incubating-bin/linkis-package
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+'''
+        sh '''cd web
+sed -i \'/VUE_APP_MN_CONFIG_PREFIX/d\' .env
+yarn
+yarn build
+cd ..
+docker build -f k8s/Dockerfile/linkis-web.Dockerfile -t linkis-web:1.2.0 .
+
+'''
+      }
+    }
+
+    stage('push image') {
+      steps {
+        sh '''docker tag linkis-mg-gateway:1.2.0 registry.mydomain.com/library/linkis-mg-gateway:1.2.0
+docker push registry.mydomain.com/library/linkis-mg-gateway:1.2.0
+
+docker tag linkis-mg-eureka:1.2.0 registry.mydomain.com/library/linkis-mg-eureka:1.2.0
+docker push registry.mydomain.com/library/linkis-mg-eureka:1.2.0
+
+docker tag linkis-ps-publicservice:1.2.0 registry.mydomain.com/library/linkis-ps-publicservice:1.2.0
+docker push registry.mydomain.com/library/linkis-ps-publicservice:1.2.0
+
+docker tag linkis-ps-cs:1.2.0 registry.mydomain.com/library/linkis-ps-cs:1.2.0
+docker push registry.mydomain.com/library/linkis-ps-cs:1.2.0
+
+docker tag linkis-cg-linkismanager:1.2.0 registry.mydomain.com/library/linkis-cg-linkismanager:1.2.0
+docker push registry.mydomain.com/library/linkis-cg-linkismanager:1.2.0
+
+docker tag linkis-cg-entrance:1.2.0 registry.mydomain.com/library/linkis-cg-entrance:1.2.0
+docker push registry.mydomain.com/library/linkis-cg-entrance:1.2.0
+
+docker tag linkis-cg-engineplugin:1.2.0 registry.mydomain.com/library/linkis-cg-engineplugin:1.2.0
+docker push registry.mydomain.com/library/linkis-cg-engineplugin:1.2.0
+
+docker tag linkis-cg-engineconnmanager:1.2.0 registry.mydomain.com/library/linkis-cg-engineconnmanager:1.2.0
+docker push registry.mydomain.com/library/linkis-cg-engineconnmanager
+
+docker tag linkis-web:1.2.0 registry.mydomain.com/library/linkis-web:1.2.0
+docker push registry.mydomain.com/library/linkis-web:1.2.0
+
+
+docker tag linkis-ps-data-source-manager:1.2.0 registry.mydomain.com/library/linkis-ps-data-source-manager:1.2.0
+docker push registry.mydomain.com/library/linkis-ps-data-source-manager:1.2.0
+
+
+docker tag linkis-ps-metadatamanager:1.2.0 registry.mydomain.com/library/linkis-ps-metadatamanager:1.2.0
+docker push registry.mydomain.com/library/linkis-ps-metadatamanager:1.2.0'''
+      }
+    }
+
+    stage('deploy on k8s') {
+      steps {
+        echo 'deploy on k8s'
+        sh '''kubectl apply -f k8s/yaml/configmap/linkis-configmap.yaml --namespace=preprod
+kubectl apply -f k8s/yaml/configmap/hadoop-configmap.yaml --namespace=preprod
+kubectl apply -f k8s/yaml/configmap/hive-configmap.yaml --namespace=preprod
+kubectl apply -f k8s/yaml/configmap/spark-configmap.yaml --namespace=preprod
+kubectl apply -f k8s/yaml/linkis-mg-gateway.yaml --namespace=preprod
+kubectl apply -f k8s/yaml/linkis-mg-eureka.yaml --namespace=preprod
+kubectl apply -f k8s/yaml/linkis-ps-publicservice.yaml --namespace=preprod
+kubectl apply -f k8s/yaml/linkis-ps-cs.yaml --namespace=preprod
+kubectl apply -f k8s/yaml/linkis-ps-metadataquery.yaml --namespace=preprod
+kubectl apply -f k8s/yaml/linkis-ps-data-source-manager.yaml --namespace=preprod
+kubectl apply -f k8s/yaml/linkis-cg-linkismanager.yaml --namespace=preprod
+kubectl apply -f k8s/yaml/linkis-cg-entrance.yaml --namespace=preprod
+kubectl apply -f k8s/yaml/linkis-cg-engineplugin.yaml --namespace=preprod
+kubectl apply -f k8s/yaml/linkis-cg-engineconnmanager.yaml --namespace=preprod
+kubectl apply -f k8s/yaml/linkis-web.yaml --namespace=preprod'''
+      }
+    }
+
+  }
+}
diff --git a/assembly-combined-package/assembly-combined/sbin/k8s/linkis-cg-engineconnmanager.sh b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-cg-engineconnmanager.sh
new file mode 100644
index 000000000..ebd672f30
--- /dev/null
+++ b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-cg-engineconnmanager.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# description:  ecm start cmd
+#
+# Modified for Linkis 1.3.0
+
+export SERVER_NAME=linkis-cg-engineconnmanager
+
+export LINKIS_COMMONS_LIB=/opt/linkis/public-module
+export SERVER_CONF_PATH=/opt/linkis/linkis-cg-engineconnmanager/conf
+export SERVER_LIB=/opt/linkis/linkis-cg-engineconnmanager/lib
+export LINKIS_LOG_DIR=/opt/linkis/linkis-cg-engineconnmanager/logs
+
+if [ ! -w "$LINKIS_LOG_DIR" ] ; then
+  mkdir -p "$LINKIS_LOG_DIR"
+fi
+
+export SERVER_JAVA_OPTS=" -DserviceName=$SERVER_NAME -Xmx2G -XX:+UseG1GC -Xloggc:$LINKIS_LOG_DIR/${SERVER_NAME}-gc.log $DEBUG_CMD"
+
+export SERVER_CLASS=org.apache.linkis.ecm.server.LinkisECMApplication
+
+export SERVER_CLASS_PATH=$SERVER_CONF_PATH:$LINKIS_COMMONS_LIB/*:$SERVER_LIB/*
+
+exec java $SERVER_JAVA_OPTS -cp $SERVER_CLASS_PATH $SERVER_CLASS
diff --git a/assembly-combined-package/assembly-combined/sbin/k8s/linkis-cg-engineplugin.sh b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-cg-engineplugin.sh
new file mode 100644
index 000000000..05836db36
--- /dev/null
+++ b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-cg-engineplugin.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# description:  ecp start cmd
+#
+# Modified for Linkis 1.3.0
+
+export SERVER_NAME=linkis-cg-engineplugin
+
+export LINKIS_COMMONS_LIB=/opt/linkis/public-module
+export SERVER_CONF_PATH=/opt/linkis/linkis-cg-engineplugin/conf
+export SERVER_LIB=/opt/linkis/linkis-cg-engineplugin/lib
+export LINKIS_LOG_DIR=/opt/linkis/linkis-cg-engineplugin/logs
+
+if [ ! -w "$LINKIS_LOG_DIR" ] ; then
+  mkdir -p "$LINKIS_LOG_DIR"
+fi
+
+export SERVER_JAVA_OPTS=" -DserviceName=$SERVER_NAME -Xmx512M -XX:+UseG1GC -Xloggc:$LINKIS_LOG_DIR/${SERVER_NAME}-gc.log $DEBUG_CMD"
+
+export SERVER_CLASS=org.apache.linkis.engineplugin.server.LinkisEngineConnPluginServer
+
+export SERVER_CLASS_PATH=$SERVER_CONF_PATH:$LINKIS_COMMONS_LIB/*:$SERVER_LIB/*
+
+exec java $SERVER_JAVA_OPTS -cp $SERVER_CLASS_PATH $SERVER_CLASS
diff --git a/assembly-combined-package/assembly-combined/sbin/k8s/linkis-cg-entrance.sh b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-cg-entrance.sh
new file mode 100644
index 000000000..f1e7ab304
--- /dev/null
+++ b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-cg-entrance.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# description:  entrnace start cmd
+#
+# Modified for Linkis 1.3.0
+
+export SERVER_NAME=linkis-cg-entrance
+
+export LINKIS_COMMONS_LIB=/opt/linkis/public-module
+export SERVER_CONF_PATH=/opt/linkis/linkis-cg-entrance/conf
+export SERVER_LIB=/opt/linkis/linkis-cg-entrance/lib
+export LINKIS_LOG_DIR=/opt/linkis/linkis-cg-entrance/logs
+
+if [ ! -w "$LINKIS_LOG_DIR" ] ; then
+  mkdir -p "$LINKIS_LOG_DIR"
+fi
+
+export SERVER_JAVA_OPTS=" -DserviceName=$SERVER_NAME -Xmx2G -XX:+UseG1GC -Xloggc:$LINKIS_LOG_DIR/${SERVER_NAME}-gc.log $DEBUG_CMD"
+
+export SERVER_CLASS=org.apache.linkis.entrance.LinkisEntranceApplication
+
+export SERVER_CLASS_PATH=$SERVER_CONF_PATH:$LINKIS_COMMONS_LIB/*:$SERVER_LIB/*
+
+exec java $SERVER_JAVA_OPTS -cp $SERVER_CLASS_PATH $SERVER_CLASS
diff --git a/assembly-combined-package/assembly-combined/sbin/k8s/linkis-cg-linkismanager.sh b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-cg-linkismanager.sh
new file mode 100644
index 000000000..6470d0ea1
--- /dev/null
+++ b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-cg-linkismanager.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# description:  manager start cmd
+#
+# Modified for Linkis 1.3.0
+
+export SERVER_NAME=linkis-cg-linkismanager
+
+export LINKIS_COMMONS_LIB=/opt/linkis/public-module
+export SERVER_CONF_PATH=/opt/linkis/linkis-cg-linkismanager/conf
+export SERVER_LIB=/opt/linkis/linkis-cg-linkismanager/lib
+export LINKIS_LOG_DIR=/opt/linkis/linkis-cg-linkismanager/logs
+
+if [ ! -w "$LINKIS_LOG_DIR" ] ; then
+  mkdir -p "$LINKIS_LOG_DIR"
+fi
+
+export SERVER_JAVA_OPTS=" -DserviceName=$SERVER_NAME -Xmx1G -XX:+UseG1GC -Xloggc:$LINKIS_LOG_DIR/${SERVER_NAME}-gc.log $DEBUG_CMD"
+
+export SERVER_CLASS=org.apache.linkis.manager.am.LinkisManagerApplication
+
+export SERVER_CLASS_PATH=$SERVER_CONF_PATH:$LINKIS_COMMONS_LIB/*:$SERVER_LIB/*
+
+exec java $SERVER_JAVA_OPTS -cp $SERVER_CLASS_PATH $SERVER_CLASS
diff --git a/assembly-combined-package/assembly-combined/sbin/k8s/linkis-mg-eureka.sh b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-mg-eureka.sh
new file mode 100644
index 000000000..e85f5aece
--- /dev/null
+++ b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-mg-eureka.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# description:  eureka start cmd
+#
+# Modified for Linkis 1.3.0
+
+export SERVER_NAME=linkis-mg-eureka
+
+export LINKIS_COMMONS_LIB=/opt/linkis/public-module
+export SERVER_CONF_PATH=/opt/linkis/linkis-mg-eureka/conf
+export SERVER_LIB=/opt/linkis/linkis-mg-eureka/lib
+export LINKIS_LOG_DIR=/opt/linkis/linkis-mg-eureka/logs
+
+if [ ! -w "$LINKIS_LOG_DIR" ] ; then
+  mkdir -p "$LINKIS_LOG_DIR"
+fi
+
+export SERVER_JAVA_OPTS=" -DserviceName=$SERVER_NAME -Xmx512M -XX:+UseG1GC -Xloggc:$LINKIS_LOG_DIR/${SERVER_NAME}-gc.log $DEBUG_CMD "
+
+export SERVER_CLASS=org.apache.linkis.eureka.SpringCloudEurekaApplication
+
+export SERVER_CLASS_PATH=$SERVER_CONF_PATH:$LINKIS_COMMONS_LIB/*:$SERVER_LIB/*
+
+SPRING_ARGS="$SPRING_ARGS --spring.profiles.active=eureka"
+
+exec java $SERVER_JAVA_OPTS -cp $SERVER_CLASS_PATH $SERVER_CLASS $SPRING_ARGS
diff --git a/assembly-combined-package/assembly-combined/sbin/k8s/linkis-mg-gateway.sh b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-mg-gateway.sh
new file mode 100644
index 000000000..ad9a886e1
--- /dev/null
+++ b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-mg-gateway.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# description:  gateway start cmd
+#
+# Modified for Linkis 1.3.0
+
+export SERVER_NAME=linkis-mg-gateway
+
+export LINKIS_COMMONS_LIB=/opt/linkis/public-module
+export SERVER_CONF_PATH=/opt/linkis/linkis-mg-gateway/conf
+export SERVER_LIB=/opt/linkis/linkis-mg-gateway/lib
+export LINKIS_LOG_DIR=/opt/linkis/linkis-mg-gateway/logs
+
+if [ ! -w "$LINKIS_LOG_DIR" ] ; then
+  mkdir -p "$LINKIS_LOG_DIR"
+fi
+
+export SERVER_JAVA_OPTS=" -DserviceName=$SERVER_NAME -Xmx2G -XX:+UseG1GC -Xloggc:$LINKIS_LOG_DIR/${SERVER_NAME}-gc.log $DEBUG_CMD"
+
+export SERVER_CLASS=org.apache.linkis.gateway.springcloud.LinkisGatewayApplication
+
+export SERVER_CLASS_PATH=$SERVER_CONF_PATH:$LINKIS_COMMONS_LIB/*:$SERVER_LIB/*
+
+exec java $SERVER_JAVA_OPTS -cp $SERVER_CLASS_PATH $SERVER_CLASS
diff --git a/assembly-combined-package/assembly-combined/sbin/k8s/linkis-ps-cs.sh b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-ps-cs.sh
new file mode 100644
index 000000000..7fc437708
--- /dev/null
+++ b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-ps-cs.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# description:  cs start cmd
+#
+# Modified for Linkis 1.3.0
+
+export SERVER_NAME=linkis-ps-cs
+
+export LINKIS_COMMONS_LIB=/opt/linkis/public-module
+export SERVER_CONF_PATH=/opt/linkis/linkis-ps-cs/conf
+export SERVER_LIB=/opt/linkis/linkis-ps-cs/lib
+export LINKIS_LOG_DIR=/opt/linkis/linkis-ps-cs/logs
+
+if [ ! -w "$LINKIS_LOG_DIR" ] ; then
+  mkdir -p "$LINKIS_LOG_DIR"
+fi
+
+export SERVER_JAVA_OPTS=" -DserviceName=$SERVER_NAME -Xmx512M -XX:+UseG1GC -Xloggc:$LINKIS_LOG_DIR/${SERVER_NAME}-gc.log $DEBUG_CMD"
+
+export SERVER_CLASS=org.apache.linkis.cs.server.LinkisCSApplication
+
+export SERVER_CLASS_PATH=$SERVER_CONF_PATH:$LINKIS_COMMONS_LIB/*:$SERVER_LIB/*
+
+exec java $SERVER_JAVA_OPTS -cp $SERVER_CLASS_PATH $SERVER_CLASS
diff --git a/assembly-combined-package/assembly-combined/sbin/k8s/linkis-ps-data-source-manager.sh b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-ps-data-source-manager.sh
new file mode 100644
index 000000000..4ea0bfa2a
--- /dev/null
+++ b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-ps-data-source-manager.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# description:  data-source-manager start cmd
+#
+# Modified for Linkis 1.1.0
+#
+
+export SERVER_NAME=linkis-ps-data-source-manager
+
+export LINKIS_COMMONS_LIB=/opt/linkis/public-module
+export SERVER_CONF_PATH=/opt/linkis/linkis-ps-data-source-manager/conf
+export SERVER_LIB=/opt/linkis/linkis-ps-data-source-manager/lib
+export LINKIS_LOG_DIR=/opt/linkis/linkis-ps-data-source-manager/logs
+
+if [ ! -w "$LINKIS_LOG_DIR" ] ; then
+  mkdir -p "$LINKIS_LOG_DIR"
+fi
+
+export SERVER_JAVA_OPTS=" -DserviceName=$SERVER_NAME -Xmx512M -XX:+UseG1GC -Xloggc:$LINKIS_LOG_DIR/${SERVER_NAME}-gc.log $DEBUG_CMD"
+
+export SERVER_CLASS=org.apache.linkis.datasourcemanager.core.LinkisDataSourceManagerApplication
+
+export SERVER_CLASS_PATH=$SERVER_CONF_PATH:$LINKIS_COMMONS_LIB/*:$SERVER_LIB/*
+
+exec java $SERVER_JAVA_OPTS -cp $SERVER_CLASS_PATH $SERVER_CLASS
\ No newline at end of file
diff --git a/assembly-combined-package/assembly-combined/sbin/k8s/linkis-ps-metadatamanager.sh b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-ps-metadatamanager.sh
new file mode 100644
index 000000000..8dc6f6737
--- /dev/null
+++ b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-ps-metadatamanager.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# description:  ps-metadataquery start cmd
+#
+# Modified for Linkis 1.1.0
+#
+
+
+export SERVER_NAME=linkis-ps-metadatamanager
+
+export LINKIS_COMMONS_LIB=/opt/linkis/public-module
+export SERVER_CONF_PATH=/opt/linkis/linkis-ps-metadatamanager/conf
+export SERVER_LIB=/opt/linkis/linkis-ps-metadatamanager/lib
+export LINKIS_LOG_DIR=/opt/linkis/linkis-ps-metadatamanager/logs
+
+if [ ! -w "$LINKIS_LOG_DIR" ] ; then
+  mkdir -p "$LINKIS_LOG_DIR"
+fi
+
+export SERVER_JAVA_OPTS=" -DserviceName=$SERVER_NAME -Xmx512M -XX:+UseG1GC -Xloggc:$LINKIS_LOG_DIR/${SERVER_NAME}-gc.log $DEBUG_CMD"
+
+export SERVER_CLASS=org.apache.linkis.metadatamanager.server.LinkisMetadataManagerApplication
+
+export SERVER_CLASS_PATH=$SERVER_CONF_PATH:$LINKIS_COMMONS_LIB/*:$SERVER_LIB/*
+
+exec java $SERVER_JAVA_OPTS -cp $SERVER_CLASS_PATH $SERVER_CLASS
+
+
diff --git a/assembly-combined-package/assembly-combined/sbin/k8s/linkis-ps-publicservice.sh b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-ps-publicservice.sh
new file mode 100644
index 000000000..8d5354efc
--- /dev/null
+++ b/assembly-combined-package/assembly-combined/sbin/k8s/linkis-ps-publicservice.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# description:  publicservice start cmd
+#
+# Modified for Linkis 1.3.0
+
+export SERVER_NAME=linkis-ps-publicservice
+
+export LINKIS_COMMONS_LIB=/opt/linkis/public-module
+export SERVER_CONF_PATH=/opt/linkis/linkis-ps-publicservice/conf
+export SERVER_LIB=/opt/linkis/linkis-ps-publicservice/lib
+export LINKIS_LOG_DIR=/opt/linkis/linkis-ps-publicservice/logs
+
+if [ ! -w "$LINKIS_LOG_DIR" ] ; then
+  mkdir -p "$LINKIS_LOG_DIR"
+fi
+
+export SERVER_JAVA_OPTS=" -DserviceName=$SERVER_NAME -Xmx1G -XX:+UseG1GC -Xloggc:$LINKIS_LOG_DIR/${SERVER_NAME}-gc.log $DEBUG_CMD"
+
+export SERVER_CLASS=org.apache.linkis.jobhistory.LinkisPublicServiceApp
+
+export SERVER_CLASS_PATH=$SERVER_CONF_PATH:$LINKIS_COMMONS_LIB/*:$SERVER_LIB/*
+
+exec java $SERVER_JAVA_OPTS -cp $SERVER_CLASS_PATH $SERVER_CLASS
diff --git a/k8s/Dockerfile/linkis-cg-engineconnmanager.Dockerfile b/k8s/Dockerfile/linkis-cg-engineconnmanager.Dockerfile
new file mode 100644
index 000000000..5f7a18f6e
--- /dev/null
+++ b/k8s/Dockerfile/linkis-cg-engineconnmanager.Dockerfile
@@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+FROM linkis-base:1.2.0
+
+WORKDIR /opt/linkis
+
+COPY lib/linkis-commons/public-module/ /opt/linkis/public-module/
+COPY lib/linkis-computation-governance/linkis-cg-engineconnmanager/ /opt/linkis/linkis-cg-engineconnmanager/lib/
+RUN curl -L -o /opt/linkis/linkis-cg-engineconnmanager/lib/mysql-connector-java-5.1.49.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar
+COPY sbin/k8s/linkis-cg-engineconnmanager.sh /opt/linkis/linkis-cg-engineconnmanager/bin/startup.sh
+
+ENTRYPOINT ["linkis-cg-engineconnmanager/bin/startup.sh"]
diff --git a/k8s/Dockerfile/linkis-cg-engineplugin.Dockerfile b/k8s/Dockerfile/linkis-cg-engineplugin.Dockerfile
new file mode 100644
index 000000000..cc43abc05
--- /dev/null
+++ b/k8s/Dockerfile/linkis-cg-engineplugin.Dockerfile
@@ -0,0 +1,28 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM linkis-base:1.2.0
+
+WORKDIR /opt/linkis
+
+COPY lib/linkis-commons/public-module/ /opt/linkis/public-module/
+COPY lib/linkis-engineconn-plugins/ /opt/linkis/linkis-cg-engineplugin/plugins/
+COPY lib/linkis-computation-governance/linkis-cg-engineplugin/ /opt/linkis/linkis-cg-engineplugin/lib/
+RUN curl -L -o /opt/linkis/linkis-cg-engineplugin/lib/mysql-connector-java-5.1.49.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar
+COPY sbin/k8s/linkis-cg-engineplugin.sh /opt/linkis/linkis-cg-engineplugin/bin/startup.sh
+RUN mkdir -p /appcom/Install/LinkisInstall/lib/linkis-engineconn-plugins
+
+
+ENTRYPOINT ["linkis-cg-engineplugin/bin/startup.sh"]
diff --git a/k8s/Dockerfile/linkis-cg-entrance.Dockerfile b/k8s/Dockerfile/linkis-cg-entrance.Dockerfile
new file mode 100644
index 000000000..9d472de5b
--- /dev/null
+++ b/k8s/Dockerfile/linkis-cg-entrance.Dockerfile
@@ -0,0 +1,25 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM linkis-base:1.2.0
+
+WORKDIR /opt/linkis
+
+COPY lib/linkis-commons/public-module/ /opt/linkis/public-module/
+COPY lib/linkis-computation-governance/linkis-cg-entrance/ /opt/linkis/linkis-cg-entrance/lib/
+RUN curl -L -o /opt/linkis/linkis-cg-entrance/lib/mysql-connector-java-5.1.49.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar
+COPY sbin/k8s/linkis-cg-entrance.sh /opt/linkis/linkis-cg-entrance/bin/startup.sh
+
+ENTRYPOINT ["linkis-cg-entrance/bin/startup.sh"]
diff --git a/k8s/Dockerfile/linkis-cg-linkismanager.Dockerfile b/k8s/Dockerfile/linkis-cg-linkismanager.Dockerfile
new file mode 100644
index 000000000..858154558
--- /dev/null
+++ b/k8s/Dockerfile/linkis-cg-linkismanager.Dockerfile
@@ -0,0 +1,25 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM linkis-base:1.2.0
+
+WORKDIR /opt/linkis
+
+COPY lib/linkis-commons/public-module/ /opt/linkis/public-module/
+COPY lib/linkis-computation-governance/linkis-cg-linkismanager/ /opt/linkis/linkis-cg-linkismanager/lib/
+RUN curl -L -o /opt/linkis/linkis-cg-linkismanager/lib/mysql-connector-java-5.1.49.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar
+COPY sbin/k8s/linkis-cg-linkismanager.sh /opt/linkis/linkis-cg-linkismanager/bin/startup.sh
+
+ENTRYPOINT ["linkis-cg-linkismanager/bin/startup.sh"]
diff --git a/k8s/Dockerfile/linkis-mg-eureka.Dockerfile b/k8s/Dockerfile/linkis-mg-eureka.Dockerfile
new file mode 100644
index 000000000..0ad2031d3
--- /dev/null
+++ b/k8s/Dockerfile/linkis-mg-eureka.Dockerfile
@@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM linkis-base:1.2.0
+
+WORKDIR /opt/linkis
+
+COPY lib/linkis-commons/public-module/ /opt/linkis/public-module/
+COPY lib/linkis-spring-cloud-services/linkis-mg-eureka/ /opt/linkis/linkis-mg-eureka/lib/
+COPY sbin/k8s/linkis-mg-eureka.sh /opt/linkis/linkis-mg-eureka/bin/startup.sh
+
+ENTRYPOINT ["linkis-mg-eureka/bin/startup.sh"]
diff --git a/k8s/Dockerfile/linkis-mg-gateway.Dockerfile b/k8s/Dockerfile/linkis-mg-gateway.Dockerfile
new file mode 100644
index 000000000..c6a98a393
--- /dev/null
+++ b/k8s/Dockerfile/linkis-mg-gateway.Dockerfile
@@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM linkis-base:1.2.0
+
+WORKDIR /opt/linkis
+
+COPY lib/linkis-commons/public-module/ /opt/linkis/public-module/
+COPY lib/linkis-spring-cloud-services/linkis-mg-gateway/ /opt/linkis/linkis-mg-gateway/lib/
+COPY sbin/k8s/linkis-mg-gateway.sh /opt/linkis/linkis-mg-gateway/bin/startup.sh
+
+ENTRYPOINT ["linkis-mg-gateway/bin/startup.sh"]
diff --git a/k8s/Dockerfile/linkis-ps-cs.Dockerfile b/k8s/Dockerfile/linkis-ps-cs.Dockerfile
new file mode 100644
index 000000000..02b89642b
--- /dev/null
+++ b/k8s/Dockerfile/linkis-ps-cs.Dockerfile
@@ -0,0 +1,25 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM linkis-base:1.2.0
+
+WORKDIR /opt/linkis
+
+COPY lib/linkis-commons/public-module/ /opt/linkis/public-module/
+COPY lib/linkis-public-enhancements/linkis-ps-cs/ /opt/linkis/linkis-ps-cs/lib/
+RUN curl -L -o /opt/linkis/linkis-ps-cs/lib/mysql-connector-java-5.1.49.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar
+COPY sbin/k8s/linkis-ps-cs.sh /opt/linkis/linkis-ps-cs/bin/startup.sh
+
+ENTRYPOINT ["linkis-ps-cs/bin/startup.sh"]
diff --git a/k8s/Dockerfile/linkis-ps-data-source-manager.Dockerfile b/k8s/Dockerfile/linkis-ps-data-source-manager.Dockerfile
new file mode 100644
index 000000000..ce68bdbaf
--- /dev/null
+++ b/k8s/Dockerfile/linkis-ps-data-source-manager.Dockerfile
@@ -0,0 +1,25 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM linkis-base:1.2.0
+
+WORKDIR /opt/linkis
+
+COPY lib/linkis-commons/public-module/ /opt/linkis/public-module/
+COPY lib/linkis-public-enhancements/linkis-ps-data-source-manager/ /opt/linkis/linkis-ps-data-source-manager/lib/
+RUN curl -L -o /opt/linkis/linkis-ps-data-source-manager/lib/mysql-connector-java-5.1.49.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar
+COPY sbin/k8s/linkis-ps-data-source-manager.sh /opt/linkis/linkis-ps-data-source-manager/bin/startup.sh
+
+ENTRYPOINT ["linkis-ps-data-source-manager/bin/startup.sh"]
diff --git a/k8s/Dockerfile/linkis-ps-metadatamanager.Dockerfile b/k8s/Dockerfile/linkis-ps-metadatamanager.Dockerfile
new file mode 100644
index 000000000..8fe51aab5
--- /dev/null
+++ b/k8s/Dockerfile/linkis-ps-metadatamanager.Dockerfile
@@ -0,0 +1,25 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM linkis-base:1.2.0
+
+WORKDIR /opt/linkis
+
+COPY lib/linkis-commons/public-module/ /opt/linkis/public-module/
+COPY lib/linkis-public-enhancements/linkis-ps-metadataquery/ /opt/linkis/linkis-ps-metadataquery/lib/
+RUN curl -L -o /opt/linkis/linkis-ps-metadataquery/lib/mysql-connector-java-5.1.49.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar
+COPY sbin/k8s/linkis-ps-metadataquery.sh /opt/linkis/linkis-ps-metadataquery/bin/startup.sh
+
+ENTRYPOINT ["linkis-ps-metadataquery/bin/startup.sh"]
diff --git a/k8s/Dockerfile/linkis-ps-publicservice.Dockerfile b/k8s/Dockerfile/linkis-ps-publicservice.Dockerfile
new file mode 100644
index 000000000..59f0b7e7a
--- /dev/null
+++ b/k8s/Dockerfile/linkis-ps-publicservice.Dockerfile
@@ -0,0 +1,25 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM linkis-base:1.2.0
+
+WORKDIR /opt/linkis
+
+COPY lib/linkis-commons/public-module/ /opt/linkis/public-module/
+COPY lib/linkis-public-enhancements/linkis-ps-publicservice/ /opt/linkis/linkis-ps-publicservice/lib/
+RUN curl -L -o /opt/linkis/linkis-ps-publicservice/lib/mysql-connector-java-5.1.49.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar
+COPY sbin/k8s/linkis-ps-publicservice.sh /opt/linkis/linkis-ps-publicservice/bin/startup.sh
+
+ENTRYPOINT ["linkis-ps-publicservice/bin/startup.sh"]
diff --git a/k8s/Dockerfile/linkis-web.Dockerfile b/k8s/Dockerfile/linkis-web.Dockerfile
new file mode 100644
index 000000000..bbcd76786
--- /dev/null
+++ b/k8s/Dockerfile/linkis-web.Dockerfile
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM nginx:1.19.6
+
+COPY web/dist/dist /usr/share/nginx/html
\ No newline at end of file
diff --git a/k8s/README.md b/k8s/README.md
new file mode 100644
index 000000000..75b750887
--- /dev/null
+++ b/k8s/README.md
@@ -0,0 +1,87 @@
+# Linkis on K8S
+
+
+## 1. Continuous integration environments
+
+centos 7
+
+Docker 18.06.3
+
+Kubernetes 1.19.7
+
+Jenkins 2.347
+
+jdk 8
+
+Hadoop 2.7.2
+
+The spark 2.4
+
+Hive 2.3.3
+
+
+
+## 2. Base image construction
+
+All linkis base images, including JDK and Hadoop, Spark, and Flink clients, share the base images for simplicity because the images are layered
+
+
+
+Save JDK, Hadoop, and Spark client directories to the same directory as dockerfile during build
+
+
+
+Place mysql-connector-java-5.1.49.jar in the k8S \jars directory
+
+
+
+Use the docker command to build the base image, for example, docker build -t linkis-base:1.2.0. -f linkis-base.Dockerfile
+
+
+
+After the build is complete, change the image name of FROM in the dockerfile of the 8 services
+
+
+
+
+
+## 3. Introduction to Jenkinsfile deployment scripts
+
+Build the package
+
+Build Image Build image
+
+Push image Push image
+
+Deploy on K8S Deploy on K8S
+
+ 
+# Linkis on K8S
+
+## 1.持续集成环境
+centos 7  
+docker  18.06.3  
+kubernetes 1.19.7  
+jenkins 2.347  
+jdk 8  
+hadoop 2.7.2  
+spark 2.4  
+hive 2.3.3  
+
+## 2.base镜像构建
+所有linkis的基础镜像,包括了jdk和hadoop,spark,flink客户端,由于镜像分层共享,因此简单起见共用基础镜像
+
+构建时自行放置jdk,hadoop,spark客户端目录至dockerfile同目录
+
+将mysql-connector-java-5.1.49.jar 放入 k8s\jars目录
+
+使用docker命令构建基础镜像,例如```docker build -t linkis-base:1.2.0 . -f linkis-base.Dockerfile``
+
+构建完成后,修改8个服务的dockerfile中,FROM的镜像名
+
+
+## 3.Jenkinsfile 部署脚本介绍
+build package  构建程序  
+build image    构建镜像  
+push image     推送镜像  
+deploy on k8s  部署到k8s  
\ No newline at end of file
diff --git a/k8s/base/linkis-base.Dockerfile b/k8s/base/linkis-base.Dockerfile
new file mode 100644
index 000000000..0e838e406
--- /dev/null
+++ b/k8s/base/linkis-base.Dockerfile
@@ -0,0 +1,60 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM centos:7
+
+WORKDIR /usr/local
+
+ENV TZ=Asia/Shanghai LANG=zh_CN.utf8 LC_ALL=zh_CN.UTF-8
+RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone
+RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
+
+RUN yum install -y vim unzip sudo krb5-workstation sssd crontabs python-pip && yum clean all
+
+COPY jdk /usr/local/jdk
+COPY javazi-1.8 /usr/share/javazi-1.8
+COPY hadoop /usr/local/hadoop
+#COPY python /tmp/python
+
+COPY spark /usr/local/spark
+#COPY flink /usr/local/flink
+# hive客户端可选择不安装,只需要hive conf
+COPY hive /usr/local/hive
+
+RUN echo $' \n\
+export LC_ALL="zh_CN.UTF-8"  \n\
+export LANG="zh_CN.UTF-8"  \n\
+export PYSPARK_ALLOW_INSECURE_GATEWAY=1  \n\
+export SPARK_HOME=/usr/local/spark  \n\
+export HIVE_HOME=/usr/local/hive  \n\
+export HADOOP_HOME=/usr/local/hadoop \n\
+export JAVA_HOME=/usr/local/jdk \n\
+export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop \n\
+export HIVE_CONF_DIR=$HIVE_HOME/conf \n\
+export SPARK_CONF_DIR=$SPARK_HOME/conf \n\
+export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar \n\
+export PATH=${JAVA_HOME}/bin/:${SPARK_HOME}/bin:${HIVE_HOME}/bin:${HADOOP_HOME}/bin:$PATH  \n\
+' >> /etc/profile && source /etc/profile
+
+ENV PYSPARK_ALLOW_INSECURE_GATEWAY=1
+ENV SPARK_HOME=/usr/local/spark
+ENV HIVE_HOME=/usr/local/hive
+ENV HADOOP_HOME=/usr/local/hadoop
+ENV HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
+ENV HIVE_CONF_DIR=$HIVE_HOME/conf
+ENV SPARK_CONF_DIR=$SPARK_HOME/conf
+ENV JAVA_HOME /usr/local/jdk
+ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
+ENV PATH ${JAVA_HOME}/bin/:${SPARK_HOME}/bin:${HIVE_HOME}/bin:${HADOOP_HOME}/sbin:${HADOOP_HOME}/bin:$PATH
diff --git a/k8s/yaml/configmap/hadoop-configmap.yaml b/k8s/yaml/configmap/hadoop-configmap.yaml
new file mode 100644
index 000000000..5fba6a38c
--- /dev/null
+++ b/k8s/yaml/configmap/hadoop-configmap.yaml
@@ -0,0 +1,1502 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+kind: ConfigMap
+apiVersion: v1
+metadata:
+  name: hadoop-config
+data:
+  capacity-scheduler.xml: "<!--\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n  you may not use this file except in compliance with the License.\n  You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  See the [...]
+  configuration.xsl: >
+    <?xml version="1.0"?>
+
+    <!--
+       Licensed to the Apache Software Foundation (ASF) under one or more
+       contributor license agreements.  See the NOTICE file distributed with
+       this work for additional information regarding copyright ownership.
+       The ASF licenses this file to You under the Apache License, Version 2.0
+       (the "License"); you may not use this file except in compliance with
+       the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+       Unless required by applicable law or agreed to in writing, software
+       distributed under the License is distributed on an "AS IS" BASIS,
+       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+       See the License for the specific language governing permissions and
+       limitations under the License.
+    -->
+
+    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    version="1.0">
+
+    <xsl:output method="html"/>
+
+    <xsl:template match="configuration">
+
+    <html>
+
+    <body>
+
+    <table border="1">
+
+    <tr>
+     <td>name</td>
+     <td>value</td>
+     <td>description</td>
+    </tr>
+
+    <xsl:for-each select="property">
+
+    <tr>
+      <td><a name="{name}"><xsl:value-of select="name"/></a></td>
+      <td><xsl:value-of select="value"/></td>
+      <td><xsl:value-of select="description"/></td>
+    </tr>
+
+    </xsl:for-each>
+
+    </table>
+
+    </body>
+
+    </html>
+
+    </xsl:template>
+
+    </xsl:stylesheet>
+  container-executor.cfg: >
+    yarn.nodemanager.linux-container-executor.group=#configured value of
+    yarn.nodemanager.linux-container-executor.group
+
+    banned.users=#comma separated list of users who can not run applications
+
+    min.user.id=1000#Prevent other super-users
+
+    allowed.system.users=##comma separated list of system users who CAN run
+    applications
+  core-site.xml: |
+    <?xml version="1.0" encoding="UTF-8"?>
+    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+    <!--
+      Licensed under the Apache License, Version 2.0 (the "License");
+      you may not use this file except in compliance with the License.
+      You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+      Unless required by applicable law or agreed to in writing, software
+      distributed under the License is distributed on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+      See the License for the specific language governing permissions and
+      limitations under the License. See accompanying LICENSE file.
+    -->
+
+    <!-- Put site-specific property overrides in this file. -->
+
+    <configuration>
+       <property>
+          <name>fs.default.name</name>
+          <value>hdfs://10.0.2.101:9000</value> 
+       </property>
+    </configuration>
+  hadoop-metrics.properties: |+
+    # Configuration of the "dfs" context for null
+    dfs.class=org.apache.hadoop.metrics.spi.NullContext
+
+    # Configuration of the "dfs" context for file
+    #dfs.class=org.apache.hadoop.metrics.file.FileContext
+    #dfs.period=10
+    #dfs.fileName=/tmp/dfsmetrics.log
+
+    # Configuration of the "dfs" context for ganglia
+    # Pick one: Ganglia 3.0 (former) or Ganglia 3.1 (latter)
+    # dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext
+    # dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
+    # dfs.period=10
+    # dfs.servers=localhost:8649
+
+
+    # Configuration of the "mapred" context for null
+    mapred.class=org.apache.hadoop.metrics.spi.NullContext
+
+    # Configuration of the "mapred" context for file
+    #mapred.class=org.apache.hadoop.metrics.file.FileContext
+    #mapred.period=10
+    #mapred.fileName=/tmp/mrmetrics.log
+
+    # Configuration of the "mapred" context for ganglia
+    # Pick one: Ganglia 3.0 (former) or Ganglia 3.1 (latter)
+    # mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext
+    # mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
+    # mapred.period=10
+    # mapred.servers=localhost:8649
+
+
+    # Configuration of the "jvm" context for null
+    #jvm.class=org.apache.hadoop.metrics.spi.NullContext
+
+    # Configuration of the "jvm" context for file
+    #jvm.class=org.apache.hadoop.metrics.file.FileContext
+    #jvm.period=10
+    #jvm.fileName=/tmp/jvmmetrics.log
+
+    # Configuration of the "jvm" context for ganglia
+    # jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext
+    # jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
+    # jvm.period=10
+    # jvm.servers=localhost:8649
+
+    # Configuration of the "rpc" context for null
+    rpc.class=org.apache.hadoop.metrics.spi.NullContext
+
+    # Configuration of the "rpc" context for file
+    #rpc.class=org.apache.hadoop.metrics.file.FileContext
+    #rpc.period=10
+    #rpc.fileName=/tmp/rpcmetrics.log
+
+    # Configuration of the "rpc" context for ganglia
+    # rpc.class=org.apache.hadoop.metrics.ganglia.GangliaContext
+    # rpc.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
+    # rpc.period=10
+    # rpc.servers=localhost:8649
+
+
+    # Configuration of the "ugi" context for null
+    ugi.class=org.apache.hadoop.metrics.spi.NullContext
+
+    # Configuration of the "ugi" context for file
+    #ugi.class=org.apache.hadoop.metrics.file.FileContext
+    #ugi.period=10
+    #ugi.fileName=/tmp/ugimetrics.log
+
+    # Configuration of the "ugi" context for ganglia
+    # ugi.class=org.apache.hadoop.metrics.ganglia.GangliaContext
+    # ugi.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
+    # ugi.period=10
+    # ugi.servers=localhost:8649
+
+  hadoop-policy.xml: |
+    <?xml version="1.0"?>
+    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+    <!--
+     
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+
+    -->
+
+    <!-- Put site-specific property overrides in this file. -->
+
+    <configuration>
+      <property>
+        <name>security.client.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for ClientProtocol, which is used by user code
+        via the DistributedFileSystem.
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+      <property>
+        <name>security.client.datanode.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for ClientDatanodeProtocol, the client-to-datanode protocol
+        for block recovery.
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+      <property>
+        <name>security.datanode.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for DatanodeProtocol, which is used by datanodes to
+        communicate with the namenode.
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+      <property>
+        <name>security.inter.datanode.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for InterDatanodeProtocol, the inter-datanode protocol
+        for updating generation timestamp.
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+      <property>
+        <name>security.namenode.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for NamenodeProtocol, the protocol used by the secondary
+        namenode to communicate with the namenode.
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+     <property>
+        <name>security.admin.operations.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for AdminOperationsProtocol. Used for admin commands.
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+      <property>
+        <name>security.refresh.user.mappings.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for RefreshUserMappingsProtocol. Used to refresh
+        users mappings. The ACL is a comma-separated list of user and
+        group names. The user and group list is separated by a blank. For
+        e.g. "alice,bob users,wheel".  A special value of "*" means all
+        users are allowed.</description>
+      </property>
+
+      <property>
+        <name>security.refresh.policy.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for RefreshAuthorizationPolicyProtocol, used by the
+        dfsadmin and mradmin commands to refresh the security policy in-effect.
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+      <property>
+        <name>security.ha.service.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for HAService protocol used by HAAdmin to manage the
+          active and stand-by states of namenode.</description>
+      </property>
+
+      <property>
+        <name>security.zkfc.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for access to the ZK Failover Controller
+        </description>
+      </property>
+
+      <property>
+        <name>security.qjournal.service.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for QJournalProtocol, used by the NN to communicate with
+        JNs when using the QuorumJournalManager for edit logs.</description>
+      </property>
+
+      <property>
+        <name>security.mrhs.client.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for HSClientProtocol, used by job clients to
+        communciate with the MR History Server job status etc. 
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+      <!-- YARN Protocols -->
+
+      <property>
+        <name>security.resourcetracker.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for ResourceTrackerProtocol, used by the
+        ResourceManager and NodeManager to communicate with each other.
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+      <property>
+        <name>security.resourcemanager-administration.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for ResourceManagerAdministrationProtocol, for admin commands. 
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+      <property>
+        <name>security.applicationclient.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for ApplicationClientProtocol, used by the ResourceManager 
+        and applications submission clients to communicate with each other.
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+      <property>
+        <name>security.applicationmaster.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for ApplicationMasterProtocol, used by the ResourceManager 
+        and ApplicationMasters to communicate with each other.
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+      <property>
+        <name>security.containermanagement.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for ContainerManagementProtocol protocol, used by the NodeManager 
+        and ApplicationMasters to communicate with each other.
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+      <property>
+        <name>security.resourcelocalizer.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for ResourceLocalizer protocol, used by the NodeManager 
+        and ResourceLocalizer to communicate with each other.
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+      <property>
+        <name>security.job.task.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for TaskUmbilicalProtocol, used by the map and reduce
+        tasks to communicate with the parent tasktracker.
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+      <property>
+        <name>security.job.client.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for MRClientProtocol, used by job clients to
+        communciate with the MR ApplicationMaster to query job status etc. 
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+
+      <property>
+        <name>security.applicationhistory.protocol.acl</name>
+        <value>*</value>
+        <description>ACL for ApplicationHistoryProtocol, used by the timeline
+        server and the generic history service client to communicate with each other.
+        The ACL is a comma-separated list of user and group names. The user and
+        group list is separated by a blank. For e.g. "alice,bob users,wheel".
+        A special value of "*" means all users are allowed.</description>
+      </property>
+    </configuration>
+  hdfs-site.xml: |
+    <?xml version="1.0" encoding="UTF-8"?>
+    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+    <!--
+      Licensed under the Apache License, Version 2.0 (the "License");
+      you may not use this file except in compliance with the License.
+      You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+      Unless required by applicable law or agreed to in writing, software
+      distributed under the License is distributed on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+      See the License for the specific language governing permissions and
+      limitations under the License. See accompanying LICENSE file.
+    -->
+
+    <!-- Put site-specific property overrides in this file. -->
+
+    <configuration>
+       <property>
+          <name>dfs.replication</name>
+          <value>1</value>
+       </property>
+        
+       <property>
+          <name>dfs.name.dir</name>
+          <value>file:///opt/hadoop-2.7.2/tmp/namenode </value>
+       </property>
+        
+       <property>
+          <name>dfs.data.dir</name> 
+          <value>file:///opt/hadoop-2.7.2/tmp/datanode </value> 
+       </property>
+    </configuration>
+  httpfs-log4j.properties: >
+    #
+
+    # Licensed under the Apache License, Version 2.0 (the "License");
+
+    # you may not use this file except in compliance with the License.
+
+    # You may obtain a copy of the License at
+
+    #
+
+    #    http://www.apache.org/licenses/LICENSE-2.0
+
+    #
+
+    # Unless required by applicable law or agreed to in writing, software
+
+    # distributed under the License is distributed on an "AS IS" BASIS,
+
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+    # See the License for the specific language governing permissions and
+
+    # limitations under the License. See accompanying LICENSE file.
+
+    #
+
+
+    # If the Java System property 'httpfs.log.dir' is not defined at
+    HttpFSServer start up time
+
+    # Setup sets its value to '${httpfs.home}/logs'
+
+
+    log4j.appender.httpfs=org.apache.log4j.DailyRollingFileAppender
+
+    log4j.appender.httpfs.DatePattern='.'yyyy-MM-dd
+
+    log4j.appender.httpfs.File=${httpfs.log.dir}/httpfs.log
+
+    log4j.appender.httpfs.Append=true
+
+    log4j.appender.httpfs.layout=org.apache.log4j.PatternLayout
+
+    log4j.appender.httpfs.layout.ConversionPattern=%d{ISO8601} %5p %c{1}
+    [%X{hostname}][%X{user}:%X{doAs}] %X{op} %m%n
+
+
+    log4j.appender.httpfsaudit=org.apache.log4j.DailyRollingFileAppender
+
+    log4j.appender.httpfsaudit.DatePattern='.'yyyy-MM-dd
+
+    log4j.appender.httpfsaudit.File=${httpfs.log.dir}/httpfs-audit.log
+
+    log4j.appender.httpfsaudit.Append=true
+
+    log4j.appender.httpfsaudit.layout=org.apache.log4j.PatternLayout
+
+    log4j.appender.httpfsaudit.layout.ConversionPattern=%d{ISO8601} %5p
+    [%X{hostname}][%X{user}:%X{doAs}] %X{op} %m%n
+
+
+    log4j.logger.httpfsaudit=INFO, httpfsaudit
+
+
+    log4j.logger.org.apache.hadoop.fs.http.server=INFO, httpfs
+
+    log4j.logger.org.apache.hadoop.lib=INFO, httpfs
+  httpfs-signature.secret: |
+    hadoop httpfs secret
+  httpfs-site.xml: |
+    <?xml version="1.0" encoding="UTF-8"?>
+    <!--
+      Licensed under the Apache License, Version 2.0 (the "License");
+      you may not use this file except in compliance with the License.
+      You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+      Unless required by applicable law or agreed to in writing, software
+      distributed under the License is distributed on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+      See the License for the specific language governing permissions and
+      limitations under the License.
+    -->
+    <configuration>
+
+    </configuration>
+  kms-acls.xml: |
+    <?xml version="1.0" encoding="UTF-8"?>
+    <!--
+      Licensed under the Apache License, Version 2.0 (the "License");
+      you may not use this file except in compliance with the License.
+      You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+      Unless required by applicable law or agreed to in writing, software
+      distributed under the License is distributed on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+      See the License for the specific language governing permissions and
+      limitations under the License.
+    -->
+    <configuration>
+
+      <!-- This file is hot-reloaded when it changes -->
+
+      <!-- KMS ACLs -->
+
+      <property>
+        <name>hadoop.kms.acl.CREATE</name>
+        <value>*</value>
+        <description>
+          ACL for create-key operations.
+          If the user is not in the GET ACL, the key material is not returned
+          as part of the response.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.acl.DELETE</name>
+        <value>*</value>
+        <description>
+          ACL for delete-key operations.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.acl.ROLLOVER</name>
+        <value>*</value>
+        <description>
+          ACL for rollover-key operations.
+          If the user is not in the GET ACL, the key material is not returned
+          as part of the response.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.acl.GET</name>
+        <value>*</value>
+        <description>
+          ACL for get-key-version and get-current-key operations.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.acl.GET_KEYS</name>
+        <value>*</value>
+        <description>
+          ACL for get-keys operations.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.acl.GET_METADATA</name>
+        <value>*</value>
+        <description>
+          ACL for get-key-metadata and get-keys-metadata operations.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.acl.SET_KEY_MATERIAL</name>
+        <value>*</value>
+        <description>
+          Complementary ACL for CREATE and ROLLOVER operations to allow the client
+          to provide the key material when creating or rolling a key.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.acl.GENERATE_EEK</name>
+        <value>*</value>
+        <description>
+          ACL for generateEncryptedKey CryptoExtension operations.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.acl.DECRYPT_EEK</name>
+        <value>*</value>
+        <description>
+          ACL for decryptEncryptedKey CryptoExtension operations.
+        </description>
+      </property>
+
+      <property>
+        <name>default.key.acl.MANAGEMENT</name>
+        <value>*</value>
+        <description>
+          default ACL for MANAGEMENT operations for all key acls that are not
+          explicitly defined.
+        </description>
+      </property>
+
+      <property>
+        <name>default.key.acl.GENERATE_EEK</name>
+        <value>*</value>
+        <description>
+          default ACL for GENERATE_EEK operations for all key acls that are not
+          explicitly defined.
+        </description>
+      </property>
+
+      <property>
+        <name>default.key.acl.DECRYPT_EEK</name>
+        <value>*</value>
+        <description>
+          default ACL for DECRYPT_EEK operations for all key acls that are not
+          explicitly defined.
+        </description>
+      </property>
+
+      <property>
+        <name>default.key.acl.READ</name>
+        <value>*</value>
+        <description>
+          default ACL for READ operations for all key acls that are not
+          explicitly defined.
+        </description>
+      </property>
+
+
+    </configuration>
+  kms-log4j.properties: >-
+    #
+
+    # Licensed under the Apache License, Version 2.0 (the "License");
+
+    # you may not use this file except in compliance with the License.
+
+    # You may obtain a copy of the License at
+
+    #
+
+    #    http://www.apache.org/licenses/LICENSE-2.0
+
+    #
+
+    # Unless required by applicable law or agreed to in writing, software
+
+    # distributed under the License is distributed on an "AS IS" BASIS,
+
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+    # See the License for the specific language governing permissions and
+
+    # limitations under the License. See accompanying LICENSE file.
+
+    #
+
+
+    # If the Java System property 'kms.log.dir' is not defined at KMS start up
+    time
+
+    # Setup sets its value to '${kms.home}/logs'
+
+
+    log4j.appender.kms=org.apache.log4j.DailyRollingFileAppender
+
+    log4j.appender.kms.DatePattern='.'yyyy-MM-dd
+
+    log4j.appender.kms.File=${kms.log.dir}/kms.log
+
+    log4j.appender.kms.Append=true
+
+    log4j.appender.kms.layout=org.apache.log4j.PatternLayout
+
+    log4j.appender.kms.layout.ConversionPattern=%d{ISO8601} %-5p %c{1} - %m%n
+
+
+    log4j.appender.kms-audit=org.apache.log4j.DailyRollingFileAppender
+
+    log4j.appender.kms-audit.DatePattern='.'yyyy-MM-dd
+
+    log4j.appender.kms-audit.File=${kms.log.dir}/kms-audit.log
+
+    log4j.appender.kms-audit.Append=true
+
+    log4j.appender.kms-audit.layout=org.apache.log4j.PatternLayout
+
+    log4j.appender.kms-audit.layout.ConversionPattern=%d{ISO8601} %m%n
+
+
+    log4j.logger.kms-audit=INFO, kms-audit
+
+    log4j.additivity.kms-audit=false
+
+
+    log4j.rootLogger=ALL, kms
+
+    log4j.logger.org.apache.hadoop.conf=ERROR
+
+    log4j.logger.org.apache.hadoop=INFO
+
+    log4j.logger.com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator=OFF
+  kms-site.xml: |
+    <?xml version="1.0" encoding="UTF-8"?>
+    <!--
+      Licensed under the Apache License, Version 2.0 (the "License");
+      you may not use this file except in compliance with the License.
+      You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+      Unless required by applicable law or agreed to in writing, software
+      distributed under the License is distributed on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+      See the License for the specific language governing permissions and
+      limitations under the License.
+    -->
+    <configuration>
+
+      <!-- KMS Backend KeyProvider -->
+
+      <property>
+        <name>hadoop.kms.key.provider.uri</name>
+        <value>jceks://file@/${user.home}/kms.keystore</value>
+        <description>
+          URI of the backing KeyProvider for the KMS.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.security.keystore.JavaKeyStoreProvider.password</name>
+        <value>none</value>
+        <description>
+          If using the JavaKeyStoreProvider, the password for the keystore file.
+        </description>
+      </property>
+
+      <!-- KMS Cache -->
+
+      <property>
+        <name>hadoop.kms.cache.enable</name>
+        <value>true</value>
+        <description>
+          Whether the KMS will act as a cache for the backing KeyProvider.
+          When the cache is enabled, operations like getKeyVersion, getMetadata,
+          and getCurrentKey will sometimes return cached data without consulting
+          the backing KeyProvider. Cached values are flushed when keys are deleted
+          or modified.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.cache.timeout.ms</name>
+        <value>600000</value>
+        <description>
+          Expiry time for the KMS key version and key metadata cache, in
+          milliseconds. This affects getKeyVersion and getMetadata.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.current.key.cache.timeout.ms</name>
+        <value>30000</value>
+        <description>
+          Expiry time for the KMS current key cache, in milliseconds. This
+          affects getCurrentKey operations.
+        </description>
+      </property>
+
+      <!-- KMS Audit -->
+
+      <property>
+        <name>hadoop.kms.audit.aggregation.window.ms</name>
+        <value>10000</value>
+        <description>
+          Duplicate audit log events within the aggregation window (specified in
+          ms) are quashed to reduce log traffic. A single message for aggregated
+          events is printed at the end of the window, along with a count of the
+          number of aggregated events.
+        </description>
+      </property>
+
+      <!-- KMS Security -->
+
+      <property>
+        <name>hadoop.kms.authentication.type</name>
+        <value>simple</value>
+        <description>
+          Authentication type for the KMS. Can be either &quot;simple&quot;
+          or &quot;kerberos&quot;.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.authentication.kerberos.keytab</name>
+        <value>${user.home}/kms.keytab</value>
+        <description>
+          Path to the keytab with credentials for the configured Kerberos principal.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.authentication.kerberos.principal</name>
+        <value>HTTP/localhost</value>
+        <description>
+          The Kerberos principal to use for the HTTP endpoint.
+          The principal must start with 'HTTP/' as per the Kerberos HTTP SPNEGO specification.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.authentication.kerberos.name.rules</name>
+        <value>DEFAULT</value>
+        <description>
+          Rules used to resolve Kerberos principal names.
+        </description>
+      </property>
+
+      <!-- Authentication cookie signature source -->
+
+      <property>
+        <name>hadoop.kms.authentication.signer.secret.provider</name>
+        <value>random</value>
+        <description>
+          Indicates how the secret to sign the authentication cookies will be
+          stored. Options are 'random' (default), 'string' and 'zookeeper'.
+          If using a setup with multiple KMS instances, 'zookeeper' should be used.
+        </description>
+      </property>
+
+      <!-- Configuration for 'zookeeper' authentication cookie signature source -->
+
+      <property>
+        <name>hadoop.kms.authentication.signer.secret.provider.zookeeper.path</name>
+        <value>/hadoop-kms/hadoop-auth-signature-secret</value>
+        <description>
+          The Zookeeper ZNode path where the KMS instances will store and retrieve
+          the secret from.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.authentication.signer.secret.provider.zookeeper.connection.string</name>
+        <value>#HOSTNAME#:#PORT#,...</value>
+        <description>
+          The Zookeeper connection string, a list of hostnames and port comma
+          separated.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.authentication.signer.secret.provider.zookeeper.auth.type</name>
+        <value>kerberos</value>
+        <description>
+          The Zookeeper authentication type, 'none' or 'sasl' (Kerberos).
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.authentication.signer.secret.provider.zookeeper.kerberos.keytab</name>
+        <value>/etc/hadoop/conf/kms.keytab</value>
+        <description>
+          The absolute path for the Kerberos keytab with the credentials to
+          connect to Zookeeper.
+        </description>
+      </property>
+
+      <property>
+        <name>hadoop.kms.authentication.signer.secret.provider.zookeeper.kerberos.principal</name>
+        <value>kms/#HOSTNAME#</value>
+        <description>
+          The Kerberos service principal used to connect to Zookeeper.
+        </description>
+      </property>
+
+    </configuration>
+  log4j.properties: >
+    # Licensed to the Apache Software Foundation (ASF) under one
+
+    # or more contributor license agreements.  See the NOTICE file
+
+    # distributed with this work for additional information
+
+    # regarding copyright ownership.  The ASF licenses this file
+
+    # to you under the Apache License, Version 2.0 (the
+
+    # "License"); you may not use this file except in compliance
+
+    # with the License.  You may obtain a copy of the License at
+
+    #
+
+    #     http://www.apache.org/licenses/LICENSE-2.0
+
+    #
+
+    # Unless required by applicable law or agreed to in writing, software
+
+    # distributed under the License is distributed on an "AS IS" BASIS,
+
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+    # See the License for the specific language governing permissions and
+
+    # limitations under the License.
+
+
+    # Define some default values that can be overridden by system properties
+
+    hadoop.root.logger=INFO,console
+
+    hadoop.log.dir=.
+
+    hadoop.log.file=hadoop.log
+
+
+    # Define the root logger to the system property "hadoop.root.logger".
+
+    log4j.rootLogger=${hadoop.root.logger}, EventCounter
+
+
+    # Logging Threshold
+
+    log4j.threshold=ALL
+
+
+    # Null Appender
+
+    log4j.appender.NullAppender=org.apache.log4j.varia.NullAppender
+
+
+    #
+
+    # Rolling File Appender - cap space usage at 5gb.
+
+    #
+
+    hadoop.log.maxfilesize=256MB
+
+    hadoop.log.maxbackupindex=20
+
+    log4j.appender.RFA=org.apache.log4j.RollingFileAppender
+
+    log4j.appender.RFA.File=${hadoop.log.dir}/${hadoop.log.file}
+
+
+    log4j.appender.RFA.MaxFileSize=${hadoop.log.maxfilesize}
+
+    log4j.appender.RFA.MaxBackupIndex=${hadoop.log.maxbackupindex}
+
+
+    log4j.appender.RFA.layout=org.apache.log4j.PatternLayout
+
+
+    # Pattern format: Date LogLevel LoggerName LogMessage
+
+    log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
+
+    # Debugging Pattern format
+
+    #log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2}
+    (%F:%M(%L)) - %m%n
+
+
+
+    #
+
+    # Daily Rolling File Appender
+
+    #
+
+
+    log4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender
+
+    log4j.appender.DRFA.File=${hadoop.log.dir}/${hadoop.log.file}
+
+
+    # Rollover at midnight
+
+    log4j.appender.DRFA.DatePattern=.yyyy-MM-dd
+
+
+    log4j.appender.DRFA.layout=org.apache.log4j.PatternLayout
+
+
+    # Pattern format: Date LogLevel LoggerName LogMessage
+
+    log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
+
+    # Debugging Pattern format
+
+    #log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2}
+    (%F:%M(%L)) - %m%n
+
+
+
+    #
+
+    # console
+
+    # Add "console" to rootlogger above if you want to use this 
+
+    #
+
+
+    log4j.appender.console=org.apache.log4j.ConsoleAppender
+
+    log4j.appender.console.target=System.err
+
+    log4j.appender.console.layout=org.apache.log4j.PatternLayout
+
+    log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p
+    %c{2}: %m%n
+
+
+    #
+
+    # TaskLog Appender
+
+    #
+
+
+    #Default values
+
+    hadoop.tasklog.taskid=null
+
+    hadoop.tasklog.iscleanup=false
+
+    hadoop.tasklog.noKeepSplits=4
+
+    hadoop.tasklog.totalLogFileSize=100
+
+    hadoop.tasklog.purgeLogSplits=true
+
+    hadoop.tasklog.logsRetainHours=12
+
+
+    log4j.appender.TLA=org.apache.hadoop.mapred.TaskLogAppender
+
+    log4j.appender.TLA.taskId=${hadoop.tasklog.taskid}
+
+    log4j.appender.TLA.isCleanup=${hadoop.tasklog.iscleanup}
+
+    log4j.appender.TLA.totalLogFileSize=${hadoop.tasklog.totalLogFileSize}
+
+
+    log4j.appender.TLA.layout=org.apache.log4j.PatternLayout
+
+    log4j.appender.TLA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
+
+
+    #
+
+    # HDFS block state change log from block manager
+
+    #
+
+    # Uncomment the following to suppress normal block state change
+
+    # messages from BlockManager in NameNode.
+
+    #log4j.logger.BlockStateChange=WARN
+
+
+    #
+
+    #Security appender
+
+    #
+
+    hadoop.security.logger=INFO,NullAppender
+
+    hadoop.security.log.maxfilesize=256MB
+
+    hadoop.security.log.maxbackupindex=20
+
+    log4j.category.SecurityLogger=${hadoop.security.logger}
+
+    hadoop.security.log.file=SecurityAuth-${user.name}.audit
+
+    log4j.appender.RFAS=org.apache.log4j.RollingFileAppender 
+
+    log4j.appender.RFAS.File=${hadoop.log.dir}/${hadoop.security.log.file}
+
+    log4j.appender.RFAS.layout=org.apache.log4j.PatternLayout
+
+    log4j.appender.RFAS.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
+
+    log4j.appender.RFAS.MaxFileSize=${hadoop.security.log.maxfilesize}
+
+    log4j.appender.RFAS.MaxBackupIndex=${hadoop.security.log.maxbackupindex}
+
+
+    #
+
+    # Daily Rolling Security appender
+
+    #
+
+    log4j.appender.DRFAS=org.apache.log4j.DailyRollingFileAppender 
+
+    log4j.appender.DRFAS.File=${hadoop.log.dir}/${hadoop.security.log.file}
+
+    log4j.appender.DRFAS.layout=org.apache.log4j.PatternLayout
+
+    log4j.appender.DRFAS.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
+
+    log4j.appender.DRFAS.DatePattern=.yyyy-MM-dd
+
+
+    #
+
+    # hadoop configuration logging
+
+    #
+
+
+    # Uncomment the following line to turn off configuration deprecation
+    warnings.
+
+    # log4j.logger.org.apache.hadoop.conf.Configuration.deprecation=WARN
+
+
+    #
+
+    # hdfs audit logging
+
+    #
+
+    hdfs.audit.logger=INFO,NullAppender
+
+    hdfs.audit.log.maxfilesize=256MB
+
+    hdfs.audit.log.maxbackupindex=20
+
+    log4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=${hdfs.audit.logger}
+
+    log4j.additivity.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=false
+
+    log4j.appender.RFAAUDIT=org.apache.log4j.RollingFileAppender
+
+    log4j.appender.RFAAUDIT.File=${hadoop.log.dir}/hdfs-audit.log
+
+    log4j.appender.RFAAUDIT.layout=org.apache.log4j.PatternLayout
+
+    log4j.appender.RFAAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n
+
+    log4j.appender.RFAAUDIT.MaxFileSize=${hdfs.audit.log.maxfilesize}
+
+    log4j.appender.RFAAUDIT.MaxBackupIndex=${hdfs.audit.log.maxbackupindex}
+
+
+    #
+
+    # mapred audit logging
+
+    #
+
+    mapred.audit.logger=INFO,NullAppender
+
+    mapred.audit.log.maxfilesize=256MB
+
+    mapred.audit.log.maxbackupindex=20
+
+    log4j.logger.org.apache.hadoop.mapred.AuditLogger=${mapred.audit.logger}
+
+    log4j.additivity.org.apache.hadoop.mapred.AuditLogger=false
+
+    log4j.appender.MRAUDIT=org.apache.log4j.RollingFileAppender
+
+    log4j.appender.MRAUDIT.File=${hadoop.log.dir}/mapred-audit.log
+
+    log4j.appender.MRAUDIT.layout=org.apache.log4j.PatternLayout
+
+    log4j.appender.MRAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n
+
+    log4j.appender.MRAUDIT.MaxFileSize=${mapred.audit.log.maxfilesize}
+
+    log4j.appender.MRAUDIT.MaxBackupIndex=${mapred.audit.log.maxbackupindex}
+
+
+    # Custom Logging levels
+
+
+    #log4j.logger.org.apache.hadoop.mapred.JobTracker=DEBUG
+
+    #log4j.logger.org.apache.hadoop.mapred.TaskTracker=DEBUG
+
+    #log4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=DEBUG
+
+
+    # Jets3t library
+
+    log4j.logger.org.jets3t.service.impl.rest.httpclient.RestS3Service=ERROR
+
+
+    # AWS SDK & S3A FileSystem
+
+    log4j.logger.com.amazonaws=ERROR
+
+    log4j.logger.com.amazonaws.http.AmazonHttpClient=ERROR
+
+    log4j.logger.org.apache.hadoop.fs.s3a.S3AFileSystem=WARN
+
+
+    #
+
+    # Event Counter Appender
+
+    # Sends counts of logging messages at different severity levels to Hadoop
+    Metrics.
+
+    #
+
+    log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter
+
+
+    #
+
+    # Job Summary Appender 
+
+    #
+
+    # Use following logger to send summary to separate file defined by 
+
+    # hadoop.mapreduce.jobsummary.log.file :
+
+    # hadoop.mapreduce.jobsummary.logger=INFO,JSA
+
+    # 
+
+    hadoop.mapreduce.jobsummary.logger=${hadoop.root.logger}
+
+    hadoop.mapreduce.jobsummary.log.file=hadoop-mapreduce.jobsummary.log
+
+    hadoop.mapreduce.jobsummary.log.maxfilesize=256MB
+
+    hadoop.mapreduce.jobsummary.log.maxbackupindex=20
+
+    log4j.appender.JSA=org.apache.log4j.RollingFileAppender
+
+    log4j.appender.JSA.File=${hadoop.log.dir}/${hadoop.mapreduce.jobsummary.log.file}
+
+    log4j.appender.JSA.MaxFileSize=${hadoop.mapreduce.jobsummary.log.maxfilesize}
+
+    log4j.appender.JSA.MaxBackupIndex=${hadoop.mapreduce.jobsummary.log.maxbackupindex}
+
+    log4j.appender.JSA.layout=org.apache.log4j.PatternLayout
+
+    log4j.appender.JSA.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}:
+    %m%n
+
+    log4j.logger.org.apache.hadoop.mapred.JobInProgress$JobSummary=${hadoop.mapreduce.jobsummary.logger}
+
+    log4j.additivity.org.apache.hadoop.mapred.JobInProgress$JobSummary=false
+
+
+    #
+
+    # Yarn ResourceManager Application Summary Log 
+
+    #
+
+    # Set the ResourceManager summary log filename
+
+    yarn.server.resourcemanager.appsummary.log.file=rm-appsummary.log
+
+    # Set the ResourceManager summary log level and appender
+
+    yarn.server.resourcemanager.appsummary.logger=${hadoop.root.logger}
+
+    #yarn.server.resourcemanager.appsummary.logger=INFO,RMSUMMARY
+
+
+    # To enable AppSummaryLogging for the RM, 
+
+    # set yarn.server.resourcemanager.appsummary.logger to 
+
+    # <LEVEL>,RMSUMMARY in hadoop-env.sh
+
+
+    # Appender for ResourceManager Application Summary Log
+
+    # Requires the following properties to be set
+
+    #    - hadoop.log.dir (Hadoop Log directory)
+
+    #    - yarn.server.resourcemanager.appsummary.log.file (resource manager app
+    summary log filename)
+
+    #    - yarn.server.resourcemanager.appsummary.logger (resource manager app
+    summary log level and appender)
+
+
+    log4j.logger.org.apache.hadoop.yarn.server.resourcemanager.RMAppManager$ApplicationSummary=${yarn.server.resourcemanager.appsummary.logger}
+
+    log4j.additivity.org.apache.hadoop.yarn.server.resourcemanager.RMAppManager$ApplicationSummary=false
+
+    log4j.appender.RMSUMMARY=org.apache.log4j.RollingFileAppender
+
+    log4j.appender.RMSUMMARY.File=${hadoop.log.dir}/${yarn.server.resourcemanager.appsummary.log.file}
+
+    log4j.appender.RMSUMMARY.MaxFileSize=256MB
+
+    log4j.appender.RMSUMMARY.MaxBackupIndex=20
+
+    log4j.appender.RMSUMMARY.layout=org.apache.log4j.PatternLayout
+
+    log4j.appender.RMSUMMARY.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n
+
+
+    # HS audit log configs
+
+    #mapreduce.hs.audit.logger=INFO,HSAUDIT
+
+    #log4j.logger.org.apache.hadoop.mapreduce.v2.hs.HSAuditLogger=${mapreduce.hs.audit.logger}
+
+    #log4j.additivity.org.apache.hadoop.mapreduce.v2.hs.HSAuditLogger=false
+
+    #log4j.appender.HSAUDIT=org.apache.log4j.DailyRollingFileAppender
+
+    #log4j.appender.HSAUDIT.File=${hadoop.log.dir}/hs-audit.log
+
+    #log4j.appender.HSAUDIT.layout=org.apache.log4j.PatternLayout
+
+    #log4j.appender.HSAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n
+
+    #log4j.appender.HSAUDIT.DatePattern=.yyyy-MM-dd
+
+
+    # Http Server Request Logs
+
+    #log4j.logger.http.requests.namenode=INFO,namenoderequestlog
+
+    #log4j.appender.namenoderequestlog=org.apache.hadoop.http.HttpRequestLogAppender
+
+    #log4j.appender.namenoderequestlog.Filename=${hadoop.log.dir}/jetty-namenode-yyyy_mm_dd.log
+
+    #log4j.appender.namenoderequestlog.RetainDays=3
+
+
+    #log4j.logger.http.requests.datanode=INFO,datanoderequestlog
+
+    #log4j.appender.datanoderequestlog=org.apache.hadoop.http.HttpRequestLogAppender
+
+    #log4j.appender.datanoderequestlog.Filename=${hadoop.log.dir}/jetty-datanode-yyyy_mm_dd.log
+
+    #log4j.appender.datanoderequestlog.RetainDays=3
+
+
+    #log4j.logger.http.requests.resourcemanager=INFO,resourcemanagerrequestlog
+
+    #log4j.appender.resourcemanagerrequestlog=org.apache.hadoop.http.HttpRequestLogAppender
+
+    #log4j.appender.resourcemanagerrequestlog.Filename=${hadoop.log.dir}/jetty-resourcemanager-yyyy_mm_dd.log
+
+    #log4j.appender.resourcemanagerrequestlog.RetainDays=3
+
+
+    #log4j.logger.http.requests.jobhistory=INFO,jobhistoryrequestlog
+
+    #log4j.appender.jobhistoryrequestlog=org.apache.hadoop.http.HttpRequestLogAppender
+
+    #log4j.appender.jobhistoryrequestlog.Filename=${hadoop.log.dir}/jetty-jobhistory-yyyy_mm_dd.log
+
+    #log4j.appender.jobhistoryrequestlog.RetainDays=3
+
+
+    #log4j.logger.http.requests.nodemanager=INFO,nodemanagerrequestlog
+
+    #log4j.appender.nodemanagerrequestlog=org.apache.hadoop.http.HttpRequestLogAppender
+
+    #log4j.appender.nodemanagerrequestlog.Filename=${hadoop.log.dir}/jetty-nodemanager-yyyy_mm_dd.log
+
+    #log4j.appender.nodemanagerrequestlog.RetainDays=3
+  mapred-site.xml: |
+    <?xml version="1.0"?>
+    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+    <!--
+      Licensed under the Apache License, Version 2.0 (the "License");
+      you may not use this file except in compliance with the License.
+      You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+      Unless required by applicable law or agreed to in writing, software
+      distributed under the License is distributed on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+      See the License for the specific language governing permissions and
+      limitations under the License. See accompanying LICENSE file.
+    -->
+
+    <!-- Put site-specific property overrides in this file. -->
+
+    <configuration>
+       <property> 
+          <name>mapreduce.framework.name</name>
+          <value>yarn</value>
+       </property>
+    </configuration>
+  slaves: |
+    10.0.2.101
+  yarn-site.xml: |
+    <?xml version="1.0"?>
+    <!--
+      Licensed under the Apache License, Version 2.0 (the "License");
+      you may not use this file except in compliance with the License.
+      You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+      Unless required by applicable law or agreed to in writing, software
+      distributed under the License is distributed on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+      See the License for the specific language governing permissions and
+      limitations under the License. See accompanying LICENSE file.
+    -->
+    <configuration>
+
+    <!-- Site specific YARN configuration properties -->
+       <property>
+          <name>yarn.nodemanager.aux-services</name>
+          <value>mapreduce_shuffle</value> 
+       </property>
+    <property>
+        <name>yarn.resourcemanager.webapp.address</name>
+        <value>10.0.2.101:8089</value>
+    </property>
+          <property>
+                  <name>yarn.nodemanager.resource.memory-mb</name>
+                    <value>40960</value>
+                    <discription>分配13g</discription>
+            </property>
+          <property>
+                  <name>yarn.nodemanager.resource.cpu-vcores</name>
+                    <value>18</value>
+                    <discription>分配13g</discription>
+            </property>
+
+          <property>
+                  <name>yarn.scheduler.maximum-allocation-mb</name>
+                    <value>20480</value>
+                    <discription>每个任务最多可用内存,单位MB,默认8182MB</discription>
+            </property>
+            <property>
+                    <name>yarn.scheduler.minimum-allocation-mb</name>
+                    <value>3000</value>
+                    <discription>每个任务最少可用内存</discription>
+            </property>
+            <property>
+                    <name>yarn.nodemanager.vmem-pmem-ratio</name>
+                    <value>4.1</value>
+            </property>
+
+    </configuration>
diff --git a/k8s/yaml/configmap/hive-configmap.yaml b/k8s/yaml/configmap/hive-configmap.yaml
new file mode 100644
index 000000000..71fbdceb6
--- /dev/null
+++ b/k8s/yaml/configmap/hive-configmap.yaml
@@ -0,0 +1,259 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+kind: ConfigMap
+apiVersion: v1
+metadata:
+  name: hive-config
+data:
+  hive-site.xml: |+
+    <?xml version="1.0"?>
+    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+    <configuration>
+            <property>
+              <name>javax.jdo.option.ConnectionURL</name>
+              <value>jdbc:mysql://127.0.0.1:3306/metastore?createDatabaseIfNotExist=true&amp;useSSL=false</value>
+              <description>JDBC connect string for a JDBC metastore</description>
+            </property>
+
+            <property>
+              <name>javax.jdo.option.ConnectionDriverName</name>
+              <value>com.mysql.jdbc.Driver</value>
+              <description>Driver class name for a JDBC metastore</description>
+            </property>
+
+            <property>
+              <name>javax.jdo.option.ConnectionUserName</name>
+              <value>root</value>
+              <description>username to use against metastore database</description>
+            </property>
+
+            <property>
+              <name>javax.jdo.option.ConnectionPassword</name>
+              <value>123456</value>
+              <description>password to use against metastore database</description>
+            </property>
+
+    <property>
+    <name>hive.metastore.warehouse.dir</name>
+    <value>/user/hive/warehouse</value>
+    <description>location of default database for the warehouse</description>
+    </property>
+
+    <property>
+        <name>hive.metastore.schema.verification</name>
+        <value>false</value>
+    </property>
+
+    <property>
+            <name>hive.cli.print.header</name>
+            <value>true</value>
+    </property>
+
+    <property>
+            <name>hive.cli.print.current.db</name>
+            <value>true</value>
+    </property>
+
+    <property>
+    <name>hive.metastore.uris</name>
+    <value>thrift://127.0.0.1:9083</value>
+    </property>
+
+    <property>  
+      <name>hive.security.authorization.enabled</name>   
+      <value>true</value>  
+      <description>Enable or disable the hive client authorization</description>  
+    </property>
+
+    </configuration>
+  ivysettings.xml: >
+    <!--
+       Licensed to the Apache Software Foundation (ASF) under one or more
+       contributor license agreements.  See the NOTICE file distributed with
+       this work for additional information regarding copyright ownership.
+       The ASF licenses this file to You under the Apache License, Version 2.0
+       (the "License"); you may not use this file except in compliance with
+       the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+       Unless required by applicable law or agreed to in writing, software
+       distributed under the License is distributed on an "AS IS" BASIS,
+       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+       See the License for the specific language governing permissions and
+       limitations under the License.
+       -->
+
+    <!--This file is used by grapes to download dependencies from a maven
+    repository.
+        This is just a template and can be edited to add more repositories.
+    -->
+
+
+    <ivysettings>
+      <!--name of the defaultResolver should always be 'downloadGrapes'. -->
+      <settings defaultResolver="downloadGrapes"/>
+      <!-- Only set maven.local.repository if not already set -->
+      <property name="maven.local.repository" value="${user.home}/.m2/repository" override="false" />
+      <property name="m2-pattern"
+                value="file:${maven.local.repository}/[organisation]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]"
+                override="false"/>
+      <resolvers>
+        <!-- more resolvers can be added here -->
+        <chain name="downloadGrapes">
+          <!-- This resolver uses ibiblio to find artifacts, compatible with maven2 repository -->
+          <ibiblio name="central" m2compatible="true"/>
+          <url name="local-maven2" m2compatible="true">
+            <artifact pattern="${m2-pattern}"/>
+          </url>
+          <!-- File resolver to add jars from the local system. -->
+          <filesystem name="test" checkmodified="true">
+            <artifact pattern="${test.tmp.dir}/[module]-[revision](-[classifier]).jar"/>
+          </filesystem>
+
+        </chain>
+      </resolvers>
+    </ivysettings>
+  parquet-logging.properties: >
+    # Licensed to the Apache Software Foundation (ASF) under one
+
+    # or more contributor license agreements.  See the NOTICE file
+
+    # distributed with this work for additional information
+
+    # regarding copyright ownership.  The ASF licenses this file
+
+    # to you under the Apache License, Version 2.0 (the
+
+    # "License"); you may not use this file except in compliance
+
+    # with the License.  You may obtain a copy of the License at
+
+    #
+
+    #     http://www.apache.org/licenses/LICENSE-2.0
+
+    #
+
+    # Unless required by applicable law or agreed to in writing, software
+
+    # distributed under the License is distributed on an "AS IS" BASIS,
+
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+    # See the License for the specific language governing permissions and
+
+    # limitations under the License.
+
+
+    # Properties file which configures the operation of the JDK
+
+    # logging facility.
+
+
+    # The system will look for this config file, first using
+
+    # a System property specified at startup:
+
+    #
+
+    # >java -Djava.util.logging.config.file=myLoggingConfigFilePath
+
+    #
+
+    # If this property is not specified, then the config file is
+
+    # retrieved from its default location at:
+
+    #
+
+    # JDK_HOME/jre/lib/logging.properties
+
+
+    # Global logging properties.
+
+    # ------------------------------------------
+
+    # The set of handlers to be loaded upon startup.
+
+    # Comma-separated list of class names.
+
+    # (? LogManager docs say no comma here, but JDK example has comma.)
+
+    # handlers=java.util.logging.ConsoleHandler
+
+    org.apache.parquet.handlers= java.util.logging.FileHandler
+
+
+    # Default global logging level.
+
+    # Loggers and Handlers may override this level
+
+    .level=INFO
+
+
+    # Handlers
+
+    # -----------------------------------------
+
+
+    # --- ConsoleHandler ---
+
+    # Override of global logging level
+
+    java.util.logging.ConsoleHandler.level=INFO
+
+    java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
+
+    java.util.logging.SimpleFormatter.format=[%1$tc] %4$s: %2$s - %5$s %6$s%n
+
+
+    # --- FileHandler ---
+
+    # Override of global logging level
+
+    java.util.logging.FileHandler.level=ALL
+
+
+    # Naming style for the output file:
+
+    # (The output file is placed in the system temporary directory.
+
+    # %u is used to provide unique identifier for the file.
+
+    # For more information refer
+
+    #
+    https://docs.oracle.com/javase/7/docs/api/java/util/logging/FileHandler.html)
+
+    java.util.logging.FileHandler.pattern=%t/parquet-%u.log
+
+
+    # Limiting size of output file in bytes:
+
+    java.util.logging.FileHandler.limit=50000000
+
+
+    # Number of output files to cycle through, by appending an
+
+    # integer to the base file name:
+
+    java.util.logging.FileHandler.count=1
+
+
+    # Style of output (Simple or XML):
+
+    java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
diff --git a/k8s/yaml/configmap/linkis-configmap.yaml b/k8s/yaml/configmap/linkis-configmap.yaml
new file mode 100644
index 000000000..a811a22d2
--- /dev/null
+++ b/k8s/yaml/configmap/linkis-configmap.yaml
@@ -0,0 +1,719 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+kind: ConfigMap
+apiVersion: v1
+metadata:
+  name: linkis-config
+data:
+  application-eureka.yml: |+
+    #
+    # Licensed to the Apache Software Foundation (ASF) under one or more
+    # contributor license agreements.  See the NOTICE file distributed with
+    # this work for additional information regarding copyright ownership.
+    # The ASF licenses this file to You under the Apache License, Version 2.0
+    # (the "License"); you may not use this file except in compliance with
+    # the License.  You may obtain a copy of the License at
+    # http://www.apache.org/licenses/LICENSE-2.0
+    # Unless required by applicable law or agreed to in writing, software
+    # distributed under the License is distributed on an "AS IS" BASIS,
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    # See the License for the specific language governing permissions and
+    # limitations under the License.
+    #
+    spring:
+      application:
+        name: linkis-mg-eureka
+      profiles: eureka
+      freemarker:
+        cache: false
+        prefer-file-system-access: false
+    server:
+      port: 20303
+    eureka:
+      instance:
+        hostname: localhost
+        preferIpAddress: true
+      client:
+        register-with-eureka: false
+        fetch-registry: false
+        serviceUrl:
+          defaultZone: http://127.0.0.1:20303/eureka/
+    #  server:
+    #    enableSelfPreservation: false
+        enable-self-preservation: false
+        eviction-interval-timer-in-ms: 3000
+      server:
+        response-cache-update-interval-ms: 2000
+  application-linkis.yml: |
+    #
+    # Licensed to the Apache Software Foundation (ASF) under one or more
+    # contributor license agreements.  See the NOTICE file distributed with
+    # this work for additional information regarding copyright ownership.
+    # The ASF licenses this file to You under the Apache License, Version 2.0
+    # (the "License"); you may not use this file except in compliance with
+    # the License.  You may obtain a copy of the License at
+    # http://www.apache.org/licenses/LICENSE-2.0
+    # Unless required by applicable law or agreed to in writing, software
+    # distributed under the License is distributed on an "AS IS" BASIS,
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    # See the License for the specific language governing permissions and
+    # limitations under the License.
+    #
+    debug: true
+    eureka:
+      instance:
+        prefer-ip-address: true
+      client:
+        serviceUrl:
+    #      defaultZone: http://linkis-mg-eureka:20303/eureka/
+          defaultZone: http://10.0.2.120:30353/eureka/
+
+    management:
+      endpoints:
+        web:
+          exposure:
+            include: refresh,info
+    logging:
+      config: classpath:log4j2.xml
+
+    pagehelper:
+      helper-dialect: mysql
+      reasonable: true
+      support-methods-arguments: true
+      params: countSql
+
+    #ribbon:
+    #  ReadTimeout: 10000
+    #  ConnectTimeout: 10000
+
+    ##disable  kinif4j.production when you want to use apidoc during development
+    knife4j:
+      enable: true
+      production: true
+  linkis-cg-engineconnmanager.properties: >-
+    # 
+
+    # Licensed to the Apache Software Foundation (ASF) under one or more
+
+    # contributor license agreements.  See the NOTICE file distributed with
+
+    # this work for additional information regarding copyright ownership.
+
+    # The ASF licenses this file to You under the Apache License, Version 2.0
+
+    # (the "License"); you may not use this file except in compliance with
+
+    # the License.  You may obtain a copy of the License at
+
+    # http://www.apache.org/licenses/LICENSE-2.0
+
+    # Unless required by applicable law or agreed to in writing, software
+
+    # distributed under the License is distributed on an "AS IS" BASIS,
+
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+    # See the License for the specific language governing permissions and
+
+    # limitations under the License.
+
+    #
+
+
+    #
+
+    ##restful
+
+    wds.linkis.server.restful.scan.packages=org.apache.linkis.em.restful
+
+    wds.linkis.engineconn.root.dir=/appcom/tmp
+
+    ##Spring
+
+    spring.server.port=9102
+
+    ##set engine environment in econn start script, such as SPARK3_HOME,the
+    value of env will read from ecm host by key.
+
+    #wds.linkis.engineconn.env.keys=SPARK3_HOME,
+  linkis-cg-engineplugin.properties: >-
+    # 
+
+    # Licensed to the Apache Software Foundation (ASF) under one or more
+
+    # contributor license agreements.  See the NOTICE file distributed with
+
+    # this work for additional information regarding copyright ownership.
+
+    # The ASF licenses this file to You under the Apache License, Version 2.0
+
+    # (the "License"); you may not use this file except in compliance with
+
+    # the License.  You may obtain a copy of the License at
+
+    # http://www.apache.org/licenses/LICENSE-2.0
+
+    # Unless required by applicable law or agreed to in writing, software
+
+    # distributed under the License is distributed on an "AS IS" BASIS,
+
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+    # See the License for the specific language governing permissions and
+
+    # limitations under the License.
+
+    #
+
+
+    #
+
+    wds.linkis.test.mode=true
+
+    wds.linkis.engineconn.debug.enable=true
+
+    ##mybatis
+
+    wds.linkis.server.mybatis.mapperLocations=classpath:org/apache/linkis/engineplugin/server/dao/impl/*.xml
+
+    wds.linkis.server.mybatis.typeAliasesPackage=
+
+    wds.linkis.server.mybatis.BasePackage=org.apache.linkis.engineplugin.server.dao
+
+    wds.linkis.engineConn.plugin.cache.expire-in-seconds=100000
+
+    wds.linkis.engineConn.dist.load.enable=true
+
+    #wds.linkis.engineconn.home=/appcom/Install/LinkisInstall/lib/linkis-engineconn-plugins
+
+    #wds.linkis.engineconn.plugin.loader.store.path=/appcom/Install/LinkisInstall/lib/linkis-engineconn-plugins
+
+    ##Spring
+
+    spring.server.port=9103
+  linkis-cg-entrance.properties: |-
+    # 
+    # Licensed to the Apache Software Foundation (ASF) under one or more
+    # contributor license agreements.  See the NOTICE file distributed with
+    # this work for additional information regarding copyright ownership.
+    # The ASF licenses this file to You under the Apache License, Version 2.0
+    # (the "License"); you may not use this file except in compliance with
+    # the License.  You may obtain a copy of the License at
+    # http://www.apache.org/licenses/LICENSE-2.0
+    # Unless required by applicable law or agreed to in writing, software
+    # distributed under the License is distributed on an "AS IS" BASIS,
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    # See the License for the specific language governing permissions and
+    # limitations under the License.
+    #
+
+    #
+    ##restful
+    wds.linkis.server.restful.scan.packages=org.apache.linkis.entrance.restful
+    wds.linkis.server.socket.mode=false
+    #wds.linkis.entrance.config.log.path=hdfs:///tmp/linkis/
+    wds.linkis.resultSet.store.path=hdfs:///tmp/linkis
+    ##Spring
+    spring.server.port=9104
+  linkis-cg-linkismanager.properties: >-
+    # 
+
+    # Licensed to the Apache Software Foundation (ASF) under one or more
+
+    # contributor license agreements.  See the NOTICE file distributed with
+
+    # this work for additional information regarding copyright ownership.
+
+    # The ASF licenses this file to You under the Apache License, Version 2.0
+
+    # (the "License"); you may not use this file except in compliance with
+
+    # the License.  You may obtain a copy of the License at
+
+    # http://www.apache.org/licenses/LICENSE-2.0
+
+    # Unless required by applicable law or agreed to in writing, software
+
+    # distributed under the License is distributed on an "AS IS" BASIS,
+
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+    # See the License for the specific language governing permissions and
+
+    # limitations under the License.
+
+    #
+
+
+    #
+
+    ##restful
+
+    wds.linkis.server.restful.scan.packages=org.apache.linkis.manager.am.restful,org.apache.linkis.resourcemanager.restful
+
+    ##mybatis
+
+    wds.linkis.server.mybatis.mapperLocations=classpath:org/apache/linkis/manager/dao/impl/*.xml,org/apache/linkis/resourcemanager/external/dao/impl/ExternalResourceProviderDaoImpl.xml
+
+    wds.linkis.server.mybatis.typeAliasesPackage=
+
+    wds.linkis.server.mybatis.BasePackage=org.apache.linkis.manager.dao,org.apache.linkis.resourcemanager.external.dao
+
+    ##Spring
+
+    spring.server.port=9101
+  linkis-mg-gateway.properties: >
+    # 
+
+    # Licensed to the Apache Software Foundation (ASF) under one or more
+
+    # contributor license agreements.  See the NOTICE file distributed with
+
+    # this work for additional information regarding copyright ownership.
+
+    # The ASF licenses this file to You under the Apache License, Version 2.0
+
+    # (the "License"); you may not use this file except in compliance with
+
+    # the License.  You may obtain a copy of the License at
+
+    # http://www.apache.org/licenses/LICENSE-2.0
+
+    # Unless required by applicable law or agreed to in writing, software
+
+    # distributed under the License is distributed on an "AS IS" BASIS,
+
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+    # See the License for the specific language governing permissions and
+
+    # limitations under the License.
+
+    #
+
+
+    #
+
+    #wds.linkis.server.restful.uri=/
+
+    wds.linkis.test.mode=true
+
+    wds.linkis.test.user=hadoop
+
+    wds.linkis.server.web.session.timeout=1h
+
+    wds.linkis.gateway.conf.enable.proxy.user=false
+
+    wds.linkis.gateway.conf.url.pass.auth=/dss/
+
+    wds.linkis.gateway.conf.enable.token.auth=true
+
+    wds.linkis.is.gateway=true
+
+    wds.linkis.server.mybatis.mapperLocations=classpath*:org/apache/linkis/instance/label/dao/impl/*.xml
+
+    wds.linkis.server.mybatis.typeAliasesPackage=org.apache.linkis.instance.label.entity
+
+    wds.linkis.server.mybatis.BasePackage=org.apache.linkis.instance.label.dao
+
+    wds.linkis.label.entity.packages=org.apache.linkis.gateway.ujes.route.label
+
+    wds.linkis.login_encrypt.enable=false
+
+    ##LDAP
+
+    wds.linkis.ldap.proxy.url=
+
+    wds.linkis.ldap.proxy.baseDN=
+
+    wds.linkis.ldap.proxy.userNameFormat=
+
+    wds.linkis.admin.user=hadoop
+
+    #wds.linkis.admin.password=
+
+    ##Spring
+
+    spring.server.port=9001
+  linkis-ps-cs.properties: >-
+    # 
+
+    # Licensed to the Apache Software Foundation (ASF) under one or more
+
+    # contributor license agreements.  See the NOTICE file distributed with
+
+    # this work for additional information regarding copyright ownership.
+
+    # The ASF licenses this file to You under the Apache License, Version 2.0
+
+    # (the "License"); you may not use this file except in compliance with
+
+    # the License.  You may obtain a copy of the License at
+
+    # http://www.apache.org/licenses/LICENSE-2.0
+
+    # Unless required by applicable law or agreed to in writing, software
+
+    # distributed under the License is distributed on an "AS IS" BASIS,
+
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+    # See the License for the specific language governing permissions and
+
+    # limitations under the License.
+
+    #
+
+
+    #
+
+    ##restful
+
+    wds.linkis.server.restful.scan.packages=org.apache.linkis.cs.server.restful
+
+    ##mybatis
+
+    wds.linkis.server.mybatis.mapperLocations=classpath*:org/apache/linkis/cs/persistence/dao/impl/*.xml
+
+    wds.linkis.server.mybatis.typeAliasesPackage=org.apache.linkis.cs.persistence.entity
+
+    wds.linkis.server.mybatis.BasePackage=org.apache.linkis.cs.persistence.dao
+
+    ##Spring
+
+    spring.server.port=9108
+
+    # ps-cs prefix must be started with 'cs_'
+
+    spring.eureka.instance.metadata-map.route=cs_1_dev
+  linkis-ps-data-source-manager.properties: >
+    #
+
+    # Licensed to the Apache Software Foundation (ASF) under one or more
+
+    # contributor license agreements.  See the NOTICE file distributed with
+
+    # this work for additional information regarding copyright ownership.
+
+    # The ASF licenses this file to You under the Apache License, Version 2.0
+
+    # (the "License"); you may not use this file except in compliance with
+
+    # the License.  You may obtain a copy of the License at
+
+    # http://www.apache.org/licenses/LICENSE-2.0
+
+    # Unless required by applicable law or agreed to in writing, software
+
+    # distributed under the License is distributed on an "AS IS" BASIS,
+
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+    # See the License for the specific language governing permissions and
+
+    # limitations under the License.
+
+    #
+
+
+    ##restful
+
+    wds.linkis.server.restful.scan.packages=org.apache.linkis.datasourcemanager.core.restful
+
+
+    ##mybatis
+
+    wds.linkis.server.mybatis.mapperLocations=classpath:org/apache/linkis/datasourcemanager/core/dao/mapper/*.xml
+
+
+    wds.linkis.server.mybatis.typeAliasesPackage=org.apache.linkis.datasourcemanager.common.domain,org.apache.linkis.datasourcemanager.core.vo
+
+
+    wds.linkis.server.mybatis.BasePackage=org.apache.linkis.datasourcemanager.core.dao
+
+
+
+    ##hive meta
+
+    hive.meta.url=
+
+    hive.meta.user=
+
+    hive.meta.password=
+
+    wds.linkis.metadata.hive.encode.enabled=false
+
+
+    ##Spring
+
+    spring.server.port=9109
+
+    spring.spring.main.allow-bean-definition-overriding=true
+
+    spring.spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false
+
+    spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false
+  linkis-ps-metadatamanager.properties: >
+    #
+
+    # Licensed to the Apache Software Foundation (ASF) under one or more
+
+    # contributor license agreements.  See the NOTICE file distributed with
+
+    # this work for additional information regarding copyright ownership.
+
+    # The ASF licenses this file to You under the Apache License, Version 2.0
+
+    # (the "License"); you may not use this file except in compliance with
+
+    # the License.  You may obtain a copy of the License at
+
+    # http://www.apache.org/licenses/LICENSE-2.0
+
+    # Unless required by applicable law or agreed to in writing, software
+
+    # distributed under the License is distributed on an "AS IS" BASIS,
+
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+    # See the License for the specific language governing permissions and
+
+    # limitations under the License.
+
+    #
+
+
+    wds.linkis.server.mdm.service.instance.expire-in-seconds=1800
+
+    wds.linkis.server.restful.scan.packages=org.apache.linkis.metadatamanager.server.restful
+
+
+    wds.linkis.server.dsm.app.name=linkis-ps-data-source-manager
+
+    ##Spring
+
+    spring.server.port=9110
+  linkis-ps-publicservice.properties: >
+    # 
+
+    # Licensed to the Apache Software Foundation (ASF) under one or more
+
+    # contributor license agreements.  See the NOTICE file distributed with
+
+    # this work for additional information regarding copyright ownership.
+
+    # The ASF licenses this file to You under the Apache License, Version 2.0
+
+    # (the "License"); you may not use this file except in compliance with
+
+    # the License.  You may obtain a copy of the License at
+
+    # http://www.apache.org/licenses/LICENSE-2.0
+
+    # Unless required by applicable law or agreed to in writing, software
+
+    # distributed under the License is distributed on an "AS IS" BASIS,
+
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+    # See the License for the specific language governing permissions and
+
+    # limitations under the License.
+
+    #
+
+
+    #
+
+    ##restful
+
+    wds.linkis.server.restful.scan.packages=org.apache.linkis.jobhistory.restful,org.apache.linkis.variable.restful,org.apache.linkis.configuration.restful,org.apache.linkis.udf.api,org.apache.linkis.filesystem.restful,org.apache.linkis.filesystem.restful,org.apache.linkis.instance.label.restful,org.apache.linkis.metadata.restful.api,org.apache.linkis.cs.server.restful,org.apache.linkis.bml.restful,org.apache.linkis.errorcode.server.restful
+
+    ##mybatis
+
+    wds.linkis.server.mybatis.mapperLocations=classpath:org/apache/linkis/jobhistory/dao/impl/*.xml,classpath:org/apache/linkis/variable/dao/impl/*.xml,classpath:org/apache/linkis/configuration/dao/impl/*.xml,classpath:org/apache/linkis/udf/dao/impl/*.xml,classpath:org/apache/linkis/instance/label/dao/impl/*.xml,classpath:org/apache/linkis/metadata/hive/dao/impl/*.xml,org/apache/linkis/metadata/dao/impl/*.xml,classpath:org/apache/linkis/bml/dao/impl/*.xml
+
+    wds.linkis.server.mybatis.typeAliasesPackage=org.apache.linkis.configuration.entity,org.apache.linkis.jobhistory.entity,org.apache.linkis.udf.entity,org.apache.linkis.variable.entity,org.apache.linkis.instance.label.entity,org.apache.linkis.manager.entity,org.apache.linkis.metadata.domain,org.apache.linkis.bml.Entity
+
+    wds.linkis.server.mybatis.BasePackage=org.apache.linkis.jobhistory.dao,org.apache.linkis.variable.dao,org.apache.linkis.configuration.dao,org.apache.linkis.udf.dao,org.apache.linkis.instance.label.dao,org.apache.linkis.metadata.hive.dao,org.apache.linkis.metadata.dao,org.apache.linkis.bml.dao,org.apache.linkis.errorcode.server.dao
+
+    ##workspace
+
+    wds.linkis.workspace.filesystem.hdfsuserrootpath.suffix=/
+
+    wds.linkis.server.component.exclude.classes=org.apache.linkis.entranceclient.conf.ClientForEntranceSpringConfiguration,org.apache.linkis.entranceclient.conf.ClientSpringConfiguration,org.apache.linkis.entrance.conf.EntranceSpringConfiguration
+
+    ##hive meta
+
+    hive.meta.url=jdbc:mysql://10.0.2.101:3306/metastore?useUnicode=true
+
+    hive.meta.user=root
+
+    hive.meta.password=7956214
+
+    # associated with the logged-in user when querying metadata:default value is
+    true
+
+    #linkis.metadata.hive.permission.with-login-user-enabled
+
+
+    ##Spring
+
+    spring.server.port=9105
+
+    spring.spring.main.allow-bean-definition-overriding=true
+  linkis.properties: >
+    # 
+
+    # Licensed to the Apache Software Foundation (ASF) under one or more
+
+    # contributor license agreements.  See the NOTICE file distributed with
+
+    # this work for additional information regarding copyright ownership.
+
+    # The ASF licenses this file to You under the Apache License, Version 2.0
+
+    # (the "License"); you may not use this file except in compliance with
+
+    # the License.  You may obtain a copy of the License at
+
+    # http://www.apache.org/licenses/LICENSE-2.0
+
+    # Unless required by applicable law or agreed to in writing, software
+
+    # distributed under the License is distributed on an "AS IS" BASIS,
+
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+    # See the License for the specific language governing permissions and
+
+    # limitations under the License.
+
+    #
+
+
+    ##enable wds.linkis.test.mode where use knife4j
+
+    wds.linkis.test.mode=true
+
+
+    wds.linkis.server.version=v1
+
+
+    ##spring conf
+
+    wds.linkis.gateway.url=http://linkis-mg-gateway:9001
+
+    wds.linkis.eureka.defaultZone=http://linkis-mg-eureka:20303/eureka/
+
+    ##mybatis
+
+    wds.linkis.server.mybatis.datasource.url=jdbc:mysql://10.0.2.101:3306/linkis110?characterEncoding=UTF-8
+
+    wds.linkis.server.mybatis.datasource.username=root
+
+    wds.linkis.server.mybatis.datasource.password=7956214
+
+    # mysql
+
+    wds.linkis.mysql.is.encrypt=false
+
+
+    #hadoop/hive/spark config
+
+    hadoop.config.dir=/usr/local/hadoop/etc/hadoop
+
+    hive.config.dir=/usr/local/hive/conf
+
+    spark.config.dir=/usr/local/spark/conf
+
+
+
+    ##file path
+
+    wds.linkis.filesystem.root.path=file:///tmp/linkis/
+
+    wds.linkis.filesystem.hdfs.root.path=hdfs:///tmp/linkis/
+
+    ##bml path:default use hdfs
+
+    wds.linkis.bml.is.hdfs=true
+
+    wds.linkis.bml.hdfs.prefix=/apps-data
+
+    #wds.linkis.bml.local.prefix=/data/dss/bml
+
+
+    ##engine Version
+
+    #wds.linkis.spark.engine.version=
+
+    #wds.linkis.hive.engine.version=
+
+    #wds.linkis.python.engine.version=
+
+
+    #LinkisHome
+
+    wds.linkis.home=/appcom/Install/LinkisInstall
+
+    #Linkis governance station administrators
+
+    wds.linkis.governance.station.admin=hadoop
+
+    wds.linkis.gateway.conf.publicservice.list=query,jobhistory,application,configuration,filesystem,udf,variable,microservice,errorcode,bml,datasource
+
+
+    spring.spring.servlet.multipart.max-file-size=500MB
+
+    spring.spring.servlet.multipart.max-request-size=500MB
+
+
+    # note:value of zero means Jetty will never write to disk.
+    https://github.com/spring-projects/spring-boot/issues/9073
+
+    spring.spring.servlet.multipart.file-size-threshold=50MB
+  log4j2.xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n  ~ Licensed to the Apache Software Foundation (ASF) under one or more\n  ~ contributor license agreements.  See the NOTICE file distributed with\n  ~ this work for additional information regarding copyright ownership.\n  ~ The ASF licenses this file to You under the Apache License, Version 2.0\n  ~ (the \"License\"); you may not use this file except in compliance with\n  ~ the License.  You may obtain a copy of the License [...]
+  token.properties: |-
+    # 
+    # Licensed to the Apache Software Foundation (ASF) under one or more
+    # contributor license agreements.  See the NOTICE file distributed with
+    # this work for additional information regarding copyright ownership.
+    # The ASF licenses this file to You under the Apache License, Version 2.0
+    # (the "License"); you may not use this file except in compliance with
+    # the License.  You may obtain a copy of the License at
+    # http://www.apache.org/licenses/LICENSE-2.0
+    # Unless required by applicable law or agreed to in writing, software
+    # distributed under the License is distributed on an "AS IS" BASIS,
+    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    # See the License for the specific language governing permissions and
+    # limitations under the License.
+    #
+    ## http API token authentication
+    ## Token-Code=Token-User
+    ##eg:TEST-AUTH=hadoop,root,user01
+    ### http request with header { Token-Code:TEST-AUTH,Token-User:user01}
+    QML-AUTH=*
+    BML-AUTH=*
+    WS-AUTH=*
+    dss-AUTH=*
+    QUALITIS-AUTH=*
+---
+#hadoop-config
+---
+#hive-config
+---
+#spark-config
\ No newline at end of file
diff --git a/k8s/yaml/configmap/spark-configmap.yaml b/k8s/yaml/configmap/spark-configmap.yaml
new file mode 100644
index 000000000..ea4c50592
--- /dev/null
+++ b/k8s/yaml/configmap/spark-configmap.yaml
@@ -0,0 +1,46 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+kind: ConfigMap
+apiVersion: v1
+metadata:
+  name: spark-config
+data:
+  core-site.xml: |
+    <?xml version="1.0" encoding="UTF-8"?>
+    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+    <!--
+      Licensed under the Apache License, Version 2.0 (the "License");
+      you may not use this file except in compliance with the License.
+      You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+      Unless required by applicable law or agreed to in writing, software
+      distributed under the License is distributed on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+      See the License for the specific language governing permissions and
+      limitations under the License. See accompanying LICENSE file.
+    -->
+
+    <!-- Put site-specific property overrides in this file. -->
+
+    <configuration>
+       <property>
+          <name>fs.default.name</name>
+          <value>hdfs://localhost:9000</value> 
+       </property>
+    </configuration>
+  hive-site.xml: "<?xml version=\"1.0\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"configuration.xsl\"?>\n<configuration>\n\t<property>\n\t  <name>javax.jdo.option.ConnectionURL</name>\n\t  <value>jdbc:mysql://127.0.0.1:3306/metastore?createDatabaseIfNotExist=true&amp;useSSL=false</value>\n\t  <description>JDBC connect string for a JDBC metastore</description>\n\t</property>\n\n\t<property>\n\t  <name>javax.jdo.option.ConnectionDriverName</name>\n\t  <value>com.mysql.jdbc.Driver</value [...]
diff --git a/k8s/yaml/ingress/linkis.yaml b/k8s/yaml/ingress/linkis.yaml
new file mode 100644
index 000000000..8ac9c497c
--- /dev/null
+++ b/k8s/yaml/ingress/linkis.yaml
@@ -0,0 +1,28 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: networking.k8s.io/v1beta1
+kind: Ingress
+metadata:
+  name: linkis-web
+spec:
+  rules:
+    - host: linkis.mydomain.com
+      http:
+        paths:
+          - path: /
+            backend:
+              serviceName: linkis-web
+              servicePort: 8087
diff --git a/k8s/yaml/linkis-cg-engineconnmanager.yaml b/k8s/yaml/linkis-cg-engineconnmanager.yaml
new file mode 100644
index 000000000..31d6f03ff
--- /dev/null
+++ b/k8s/yaml/linkis-cg-engineconnmanager.yaml
@@ -0,0 +1,92 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: headless-linkis-cg-engineconnmanager
+  labels:
+    app: headless-linkis-cg-engineconnmanager
+    service: headless-linkis-cg-engineconnmanager
+spec:
+  ports:
+    - name: http
+      port: 9106
+      targetPort: 9106
+  selector:
+    app: linkis-cg-engineconnmanager
+  type: None
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: linkis-cg-engineconnmanager
+  labels:
+    app: linkis-cg-engineconnmanager
+    version: v1
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: linkis-cg-engineconnmanager
+      version: v1
+  template:
+    metadata:
+      labels:
+        app: linkis-cg-engineconnmanager
+        version: v1
+    spec:
+      volumes:
+        - name: conf
+          configMap: 
+            name: linkis-config
+        - name: hadoop-config
+          configMap: 
+            name: hadoop-config
+        - name: hive-config
+          configMap: 
+            name: hive-config
+        - name: spark-config
+          configMap: 
+            name: spark-config
+        - name: log
+          emptyDir: {}
+      containers:
+        - image: registry.mydomain.com/library/linkis-cg-engineconnmanager:1.2.0
+          imagePullPolicy: Always
+          name: linkis-cg-engineconnmanager
+          ports:
+            - containerPort: 9106
+          env:
+            - name: EUREKA_URL
+              value: "http://linkis-mg-eureka:20303/eureka/"
+          resources:
+            requests:
+              memory: "500Mi"
+              cpu: "1000m"
+            limits:
+              memory: "1Gi"
+              cpu: "2000m"
+          volumeMounts:
+            - name: conf
+              mountPath: /opt/linkis/linkis-cg-engineconnmanager/conf/
+            - name: hadoop-config
+              mountPath: /usr/local/hadoop/etc/hadoop
+            - name: hive-config
+              mountPath: /usr/local/hive/conf
+            - name: spark-config
+              mountPath: /usr/local/spark/conf
+            - name: log
+              mountPath: /opt/linkis/linkis-cg-engineconnmanager/logs
diff --git a/k8s/yaml/linkis-cg-engineplugin.yaml b/k8s/yaml/linkis-cg-engineplugin.yaml
new file mode 100644
index 000000000..107bef6ec
--- /dev/null
+++ b/k8s/yaml/linkis-cg-engineplugin.yaml
@@ -0,0 +1,93 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: headless-linkis-cg-engineplugin
+  labels:
+    app: headless-linkis-cg-engineplugin
+    service: headless-linkis-cg-engineplugin
+spec:
+  ports:
+    - name: http
+      port: 9106
+      targetPort: 9106
+  selector:
+    app: linkis-cg-engineplugin
+  type: None
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: linkis-cg-engineplugin
+  labels:
+    app: linkis-cg-engineplugin
+    version: v1
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: linkis-cg-engineplugin
+      version: v1
+  template:
+    metadata:
+      labels:
+        app: linkis-cg-engineplugin
+        version: v1
+    spec:
+      volumes:
+        - name: conf
+          configMap: 
+            name: linkis-config
+        - name: hadoop-config
+          configMap: 
+            name: hadoop-config
+        - name: hive-config
+          configMap: 
+            name: hive-config
+        - name: spark-config
+          configMap: 
+            name: spark-config
+        - name: log
+            emptyDir: {}
+      containers:
+        - image: registry.mydomain.com/library/linkis-cg-engineplugin:1.2.0
+          imagePullPolicy: Always
+          name: linkis-cg-engineplugin
+          ports:
+            - containerPort: 9106
+          env:
+            - name: EUREKA_URL
+              value: "http://linkis-mg-eureka:20303/eureka/"
+          resources:
+            requests:
+              memory: "500Mi"
+              cpu: "1000m"
+            limits:
+              memory: "1Gi"
+              cpu: "2000m"
+          volumeMounts:
+            - name: conf
+              mountPath: /opt/linkis/linkis-cg-engineplugin/conf
+            - name: hadoop-config
+              mountPath: /usr/local/hadoop/etc/hadoop
+            - name: hive-config
+              mountPath: /usr/local/hive/conf
+            - name: spark-config
+              mountPath: /usr/local/spark/conf
+            - name: log
+              mountPath: /opt/linkis/linkis-cg-engineplugin/logs
+
diff --git a/k8s/yaml/linkis-cg-entrance.yaml b/k8s/yaml/linkis-cg-entrance.yaml
new file mode 100644
index 000000000..b80532214
--- /dev/null
+++ b/k8s/yaml/linkis-cg-entrance.yaml
@@ -0,0 +1,93 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: headless-linkis-cg-entrance
+  labels:
+    app: headless-linkis-cg-entrance
+    service: headless-linkis-cg-entrance
+spec:
+  ports:
+    - name: http
+      port: 9106
+      targetPort: 9106
+  selector:
+    app: linkis-cg-entrance
+  type: None
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: linkis-cg-entrance
+  labels:
+    app: linkis-cg-entrance
+    version: v1
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: linkis-cg-entrance
+      version: v1
+  template:
+    metadata:
+      labels:
+        app: linkis-cg-entrance
+        version: v1
+    spec:
+      volumes:
+        - name: conf
+          configMap: 
+            name: linkis-config
+        - name: hadoop-config
+          configMap: 
+            name: hadoop-config
+        - name: hive-config
+          configMap: 
+            name: hive-config
+        - name: spark-config
+          configMap: 
+            name: spark-config
+        - name: log
+          emptyDir: {}
+      containers:
+        - image: registry.mydomain.com/library/linkis-cg-entrance:1.2.0
+          imagePullPolicy: Always
+          name: linkis-cg-entrance
+          ports:
+            - containerPort: 9106
+          env:
+            - name: EUREKA_URL
+              value: "http://linkis-mg-eureka:20303/eureka/"
+          resources:
+            requests:
+              memory: "500Mi"
+              cpu: "1000m"
+            limits:
+              memory: "1Gi"
+              cpu: "2000m"
+          volumeMounts:
+            - name: conf
+              mountPath: /opt/linkis/linkis-cg-entrance/conf
+            - name: hadoop-config
+              mountPath: /usr/local/hadoop/etc/hadoop
+            - name: hive-config
+              mountPath: /usr/local/hive/conf
+            - name: spark-config
+              mountPath: /usr/local/spark/conf
+            - name: log
+              mountPath: /opt/linkis/linkis-cg-entrance/logs
+
diff --git a/k8s/yaml/linkis-cg-linkismanager.yaml b/k8s/yaml/linkis-cg-linkismanager.yaml
new file mode 100644
index 000000000..6a736a486
--- /dev/null
+++ b/k8s/yaml/linkis-cg-linkismanager.yaml
@@ -0,0 +1,92 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: headless-linkis-cg-linkismanager
+  labels:
+    app: headless-linkis-cg-linkismanager
+    service: headless-linkis-cg-linkismanager
+spec:
+  ports:
+    - name: http
+      port: 9106
+      targetPort: 9106
+  selector:
+    app: linkis-cg-linkismanager
+  type: None
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: linkis-cg-linkismanager
+  labels:
+    app: linkis-cg-linkismanager
+    version: v1
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: linkis-cg-linkismanager
+      version: v1
+  template:
+    metadata:
+      labels:
+        app: linkis-cg-linkismanager
+        version: v1
+    spec:
+      volumes:
+        - name: conf
+          configMap: 
+            name: linkis-config
+        - name: hadoop-config
+          configMap: 
+            name: hadoop-config
+        - name: hive-config
+          configMap: 
+            name: hive-config
+        - name: spark-config
+          configMap: 
+            name: spark-config
+        - name: log
+            emptyDir: { }
+      containers:
+        - image: registry.mydomain.com/library/linkis-cg-linkismanager:1.2.0
+          imagePullPolicy: Always
+          name: linkis-cg-linkismanager
+          ports:
+            - containerPort: 9106
+          env:
+            - name: EUREKA_URL
+              value: "http://linkis-mg-eureka:20303/eureka/"
+          resources:
+            requests:
+              memory: "500Mi"
+              cpu: "1000m"
+            limits:
+              memory: "1Gi"
+              cpu: "2000m"
+          volumeMounts:
+            - name: conf
+              mountPath: /opt/linkis/linkis-cg-linkismanager/conf
+            - name: hadoop-config
+              mountPath: /usr/local/hadoop/etc/hadoop
+            - name: hive-config
+              mountPath: /usr/local/hive/conf
+            - name: spark-config
+              mountPath: /usr/local/spark/conf
+            - name: log
+              mountPath: /opt/linkis/linkis-cg-linkismanager/logs
\ No newline at end of file
diff --git a/k8s/yaml/linkis-mg-eureka.yaml b/k8s/yaml/linkis-mg-eureka.yaml
new file mode 100644
index 000000000..b9908bdcf
--- /dev/null
+++ b/k8s/yaml/linkis-mg-eureka.yaml
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: linkis-mg-eureka
+  labels:
+    app: linkis-mg-eureka
+    service: linkis-mg-eureka
+spec:
+  ports:
+    - name: http
+      port: 20303
+      targetPort: 20303
+  selector:
+    app: linkis-mg-eureka
+  type: ClusterIP
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: linkis-mg-eureka
+  labels:
+    app: linkis-mg-eureka
+    version: v1
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: linkis-mg-eureka
+      version: v1
+  template:
+    metadata:
+      labels:
+        app: linkis-mg-eureka
+        version: v1
+    spec:
+      volumes:
+        - name: conf
+          configMap: 
+            name: linkis-config
+        - name: log
+            emptyDir: { }
+      containers:
+        - name: linkis-mg-eureka
+          image: registry.mydomain.com/library/linkis-mg-eureka:1.2.0
+          imagePullPolicy: Always
+          ports:
+            - containerPort: 20303
+          env:
+            - name: EUREKA_URL
+              value: "http://127.0.0.1:20303/eureka/"
+            - name: EUREKA_PORT
+              value: "20303"
+          resources:
+            requests:
+              memory: "500Mi"
+              cpu: "1000m"
+            limits:
+              memory: "1Gi"
+              cpu: "2000m"
+          volumeMounts:
+            - name: conf
+              mountPath: /opt/linkis/linkis-mg-eureka/conf/
+            - name: log
+              mountPath: /opt/linkis/linkis-mg-eureka/logs
diff --git a/k8s/yaml/linkis-mg-gateway.yaml b/k8s/yaml/linkis-mg-gateway.yaml
new file mode 100644
index 000000000..520a6a070
--- /dev/null
+++ b/k8s/yaml/linkis-mg-gateway.yaml
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: linkis-mg-gateway
+  labels:
+    app: linkis-mg-gateway
+    service: linkis-mg-gateway
+spec:
+  ports:
+    - name: http
+      port: 9001
+      targetPort: 9001
+  selector:
+    app: linkis-mg-gateway
+  type: ClusterIP
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: linkis-mg-gateway
+  labels:
+    app: linkis-mg-gateway
+    version: v1
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: linkis-mg-gateway
+      version: v1
+  template:
+    metadata:
+      labels:
+        app: linkis-mg-gateway
+        version: v1
+    spec:
+      volumes:
+        - name: conf
+          configMap: 
+            name: linkis-config
+        - name: log
+          emptyDir: { }
+      containers:
+        - image: registry.mydomain.com/library/linkis-mg-gateway:1.2.0
+          imagePullPolicy: Always
+          name: linkis-mg-gateway
+          ports:
+            - containerPort: 9001
+          env:
+            - name: EUREKA_URL
+              value: "http://linkis-mg-eureka:20303/eureka/"
+            - name: START_PORT
+              value: "9001"
+          resources:
+            requests:
+              memory: "500Mi"
+              cpu: "1000m"
+            limits:
+              memory: "1Gi"
+              cpu: "2000m"
+          volumeMounts:
+            - name: conf
+              mountPath: /opt/linkis/linkis-mg-gateway/conf/
+            - name: log
+              mountPath: /opt/linkis/linkis-mg-gateway/logs
diff --git a/k8s/yaml/linkis-ps-cs.yaml b/k8s/yaml/linkis-ps-cs.yaml
new file mode 100644
index 000000000..6cb40224a
--- /dev/null
+++ b/k8s/yaml/linkis-ps-cs.yaml
@@ -0,0 +1,76 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: linkis-ps-cs
+  labels:
+    app: linkis-ps-cs
+    version: v1
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: linkis-ps-cs
+      version: v1
+  template:
+    metadata:
+      labels:
+        app: linkis-ps-cs
+        version: v1
+    spec:
+      volumes:
+        - name: conf
+          configMap: 
+            name: linkis-config
+        - name: hadoop-config
+          configMap: 
+            name: hadoop-config
+        - name: hive-config
+          configMap: 
+            name: hive-config
+        - name: spark-config
+          configMap: 
+            name: spark-config
+        - name: log
+          emptyDir: {}
+      containers:
+        - image: registry.mydomain.com/library/linkis-ps-cs:1.2.0
+          imagePullPolicy: Always
+          name: linkis-ps-cs
+          ports:
+            - containerPort: 9106
+          env:
+            - name: EUREKA_URL
+              value: "http://linkis-mg-eureka:20303/eureka/"
+          resources:
+            requests:
+              memory: "500Mi"
+              cpu: "1000m"
+            limits:
+              memory: "1Gi"
+              cpu: "2000m"
+          volumeMounts:
+            - name: conf
+              mountPath: /opt/linkis/linkis-ps-cs/conf/
+            - name: hadoop-config
+              mountPath: /usr/local/hadoop/etc/hadoop
+            - name: hive-config
+              mountPath: /usr/local/hive/conf
+            - name: spark-config
+              mountPath: /usr/local/spark/conf
+            - name: log
+              mountPath: /opt/linkis/linkis-ps-cs/logs
diff --git a/k8s/yaml/linkis-ps-data-source-manager.yaml b/k8s/yaml/linkis-ps-data-source-manager.yaml
new file mode 100644
index 000000000..9dc09f7bd
--- /dev/null
+++ b/k8s/yaml/linkis-ps-data-source-manager.yaml
@@ -0,0 +1,76 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: linkis-ps-data-source-manager
+  labels:
+    app: linkis-ps-data-source-manager
+    version: v1
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: linkis-ps-data-source-manager
+      version: v1
+  template:
+    metadata:
+      labels:
+        app: linkis-ps-data-source-manager
+        version: v1
+    spec:
+      volumes:
+        - name: conf
+          configMap: 
+            name: linkis-config
+        - name: hadoop-config
+          configMap: 
+            name: hadoop-config
+        - name: hive-config
+          configMap: 
+            name: hive-config
+        - name: spark-config
+          configMap: 
+            name: spark-config
+        - name: log
+          emptyDir: {}
+      containers:
+        - image: registry.mydomain.com/library/linkis-ps-data-source-manager:1.2.0
+          imagePullPolicy: Always
+          name: linkis-ps-data-source-manager
+          ports:
+            - containerPort: 9106
+          env:
+            - name: EUREKA_URL
+              value: "http://linkis-mg-eureka:20303/eureka/"
+          resources:
+            requests:
+              memory: "500Mi"
+              cpu: "1000m"
+            limits:
+              memory: "1Gi"
+              cpu: "2000m"
+          volumeMounts:
+            - name: conf
+              mountPath: /opt/linkis/linkis-ps-data-source-manager/conf/
+            - name: hadoop-config
+              mountPath: /usr/local/hadoop/etc/hadoop
+            - name: hive-config
+              mountPath: /usr/local/hive/conf
+            - name: spark-config
+              mountPath: /usr/local/spark/conf
+            - name: log
+              mountPath: /opt/linkis/linkis-ps-data-source-manager/logs
\ No newline at end of file
diff --git a/k8s/yaml/linkis-ps-metadatamanager.yaml b/k8s/yaml/linkis-ps-metadatamanager.yaml
new file mode 100644
index 000000000..ac5c03434
--- /dev/null
+++ b/k8s/yaml/linkis-ps-metadatamanager.yaml
@@ -0,0 +1,76 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: linkis-ps-metadatamanager
+  labels:
+    app: linkis-ps-metadatamanager
+    version: v1
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: linkis-ps-metadatamanager
+      version: v1
+  template:
+    metadata:
+      labels:
+        app: linkis-ps-metadatamanager
+        version: v1
+    spec:
+      volumes:
+        - name: conf
+          configMap: 
+            name: linkis-config
+        - name: hadoop-config
+          configMap: 
+            name: hadoop-config
+        - name: hive-config
+          configMap: 
+            name: hive-config
+        - name: spark-config
+          configMap: 
+            name: spark-config
+        - name: log
+          emptyDir: {}
+      containers:
+        - image: registry.mydomain.com/library/linkis-ps-metadatamanager:1.2.0
+          imagePullPolicy: Always
+          name: linkis-ps-metadatamanager
+          ports:
+            - containerPort: 9106
+          env:
+            - name: EUREKA_URL
+              value: "http://linkis-mg-eureka:20303/eureka/"
+          resources:
+            requests:
+              memory: "500Mi"
+              cpu: "1000m"
+            limits:
+              memory: "1Gi"
+              cpu: "2000m"
+          volumeMounts:
+            - name: conf
+              mountPath: /opt/linkis/linkis-ps-metadatamanager/conf/
+            - name: hadoop-config
+              mountPath: /usr/local/hadoop/etc/hadoop
+            - name: hive-config
+              mountPath: /usr/local/hive/conf
+            - name: spark-config
+              mountPath: /usr/local/spark/conf
+            - name: log
+              mountPath: /opt/linkis/linkis-ps-metadatamanager/logs
\ No newline at end of file
diff --git a/k8s/yaml/linkis-ps-publicservice.yaml b/k8s/yaml/linkis-ps-publicservice.yaml
new file mode 100644
index 000000000..d925e18ee
--- /dev/null
+++ b/k8s/yaml/linkis-ps-publicservice.yaml
@@ -0,0 +1,76 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: linkis-ps-publicservice
+  labels:
+    app: linkis-ps-publicservice
+    version: v1
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: linkis-ps-publicservice
+      version: v1
+  template:
+    metadata:
+      labels:
+        app: linkis-ps-publicservice
+        version: v1
+    spec:
+      volumes:
+        - name: conf
+          configMap: 
+            name: linkis-config
+        - name: hadoop-config
+          configMap: 
+            name: hadoop-config
+        - name: hive-config
+          configMap: 
+            name: hive-config
+        - name: spark-config
+          configMap: 
+            name: spark-config
+        - name: log
+          emptyDir: {}
+      containers:
+        - image: registry.mydomain.com/library/linkis-ps-publicservice:1.2.0
+          imagePullPolicy: Always
+          name: linkis-ps-publicservice
+          ports:
+            - containerPort: 9106
+          env:
+            - name: EUREKA_URL
+              value: "http://linkis-mg-eureka:20303/eureka/"
+          resources:
+            requests:
+              memory: "500Mi"
+              cpu: "1000m"
+            limits:
+              memory: "1Gi"
+              cpu: "2000m"
+          volumeMounts:
+            - name: conf
+              mountPath: /opt/linkis/linkis-ps-publicservice/conf/
+            - name: hadoop-config
+              mountPath: /usr/local/hadoop/etc/hadoop
+            - name: hive-config
+              mountPath: /usr/local/hive/conf
+            - name: spark-config
+              mountPath: /usr/local/spark/conf
+            - name: log
+              mountPath: /opt/linkis/linkis-ps-publicservice/logs
\ No newline at end of file
diff --git a/k8s/yaml/linkis-web.yaml b/k8s/yaml/linkis-web.yaml
new file mode 100644
index 000000000..940347c7d
--- /dev/null
+++ b/k8s/yaml/linkis-web.yaml
@@ -0,0 +1,112 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: linkis-web
+  labels:
+    app: linkis-web
+    service: linkis-web
+spec:
+  ports:
+    - name: http
+      port: 8087
+      targetPort: 8087
+  selector:
+    app: linkis-web
+  type: ClusterIP
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: linkis-web-config
+data:
+  default.conf: |
+      server {
+        listen       8087;
+        server_name  localhost;
+        access_log  /var/log/nginx/host.access.log  main;
+        error_log  /var/log/nginx/host.error.log;
+        location /ws {
+        proxy_pass http://linkis-mg-gateway:9001;
+        proxy_http_version 1.1;
+        proxy_set_header Upgrade $http_upgrade;
+        proxy_set_header Connection upgrade;
+        }
+
+        location ^~/api/ {
+        #rewrite ^/api/(.*)$ /$1 break;
+        proxy_pass http://linkis-mg-gateway.preprod:9001;
+        }
+
+        location / {
+        root   /usr/share/nginx/html; # 静态文件目录
+        index  index.html index.html;
+        }
+        #error_page  404              /404.html;
+        # redirect server error pages to the static page /50x.html
+        #
+        error_page   500 502 503 504  /50x.html;
+        location = /50x.html {
+        root   /usr/share/nginx/html;
+        }
+      }
+
+
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: linkis-web
+  labels:
+    app: linkis-web
+    version: v1
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: linkis-web
+      version: v1
+  template:
+    metadata:
+      labels:
+        app: linkis-web
+        version: v1
+    spec:
+      volumes:
+        - name: nginx-config
+          configMap:
+            name: linkis-web-config
+            items: 
+            - key: default.conf
+              path: default.conf
+      containers:
+        - name: linkis-web
+          image: registry.mydomain.com/library/linkis-web:1.2.0
+          imagePullPolicy: Always
+          ports:
+            - containerPort: 8087
+          resources:
+            requests:
+              memory: "500Mi"
+              cpu: "1000m"
+            limits:
+              memory: "1Gi"
+              cpu: "2000m"
+          volumeMounts:
+            - name: nginx-config
+              subPath: default.conf
+              mountPath: /etc/nginx/conf.d/default.conf


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org