浏览代码

脚本部署

yangxg 3 年之前
父节点
当前提交
1347b83c6b

+ 1 - 0
Dockerfile-kafka

@@ -0,0 +1 @@
+FROM hub.evbj.easou.com/qa/kubernetes-kafka:1.0-10.2.1

+ 1 - 0
Dockerfile-kafka-manager

@@ -0,0 +1 @@
+FROM zenko/kafka-manager:1.3.3.22

+ 1 - 0
Dockerfile-logstash

@@ -0,0 +1 @@
+FROM logstash:7.6.2

+ 3 - 3
deploy-tmp-elasticsearch.yaml

@@ -3,7 +3,7 @@ apiVersion: apps/v1
 kind: StatefulSet
 metadata:
   name: elasticsearch
-  namespace: pro
+  namespace: [ENV]
 spec:
   serviceName: elasticsearch
   replicas: 3
@@ -79,7 +79,7 @@ apiVersion: v1
 kind: Service
 metadata:
   name: elasticsearch
-  namespace: pro
+  namespace: [ENV]
   labels:
     app: elasticsearch
 spec:
@@ -96,7 +96,7 @@ apiVersion: v1
 kind: Service
 metadata:
   name: elasticsearch-cs
-  namespace: pro
+  namespace: [ENV]
   labels:
     app: elasticsearch
 spec:

+ 5 - 5
deploy-tmp-kafka-manager.yaml

@@ -2,7 +2,7 @@ apiVersion: v1
 kind: Service
 metadata:
   name: kafka-manager
-  namespace: pro
+  namespace: [ENV]
   labels:
     app: kafka-manager
 spec:
@@ -19,7 +19,7 @@ apiVersion: apps/v1
 kind: Deployment
 metadata:
   name: kafka-manager
-  namespace: pro
+  namespace: [ENV]
   labels:
     app: kafka-manager
 spec:
@@ -42,7 +42,7 @@ spec:
             protocol: TCP
         env:
           - name: ZK_HOSTS
-            value: "zk-cs.pro.svc.cluster.local:2181"
+            value: "zk-cs.[ENV].svc.cluster.local:2181"
         livenessProbe:
           httpGet:
             path: /api/health
@@ -70,12 +70,12 @@ apiVersion: extensions/v1beta1
 kind: Ingress
 metadata:
   name: kafka-manager-ingress
-  namespace: pro
+  namespace: [ENV]
   annotations:
     kubernetes.io/ingress.class: nginx
 spec:
   rules:
-    - host: pro-kafka-manager.ieasou.cn
+    - host: [ENV]-kafka-manager.ieasou.cn
       http:
         paths:
           - path: /

+ 4 - 4
deploy-tmp-kafka.yaml

@@ -2,7 +2,7 @@ apiVersion: v1
 kind: Service
 metadata:
   name: kafka-svc
-  namespace: pro
+  namespace: [ENV]
   labels:
     app: kafka
 spec:
@@ -17,7 +17,7 @@ apiVersion: policy/v1beta1
 kind: PodDisruptionBudget
 metadata:
   name: kafka-pdb
-  namespace: pro
+  namespace: [ENV]
 spec:
   selector:
     matchLabels:
@@ -28,7 +28,7 @@ apiVersion: apps/v1
 kind: StatefulSet
 metadata:
   name: kafka
-  namespace: pro
+  namespace: [ENV]
 spec:
   selector:
     matchLabels:
@@ -81,7 +81,7 @@ spec:
             - -c
             - "exec kafka-server-start.sh /opt/kafka/config/server.properties --override broker.id=${HOSTNAME##*-} \
           --override listeners=PLAINTEXT://:9093 \
-          --override zookeeper.connect=zk-cs.pro.svc.cluster.local:2181 \   #这里配置了与zookeeper进行连接,非常重要。格式为:pod名.zookeeper的service名.名称空间.svc.cluster.local:2181
+          --override zookeeper.connect=zk-cs.[ENV].svc.cluster.local:2181 \   #这里配置了与zookeeper进行连接,非常重要。格式为:pod名.zookeeper的service名.名称空间.svc.cluster.local:2181
           --override log.dir=/var/lib/kafka "
           env:
             - name: KAFKA_HEAP_OPTS

+ 5 - 5
deploy-tmp-kibana.yaml

@@ -3,7 +3,7 @@ apiVersion: v1
 kind: Service
 metadata:
   name: kibana-svc
-  namespace: pro
+  namespace: [ENV]
   labels:
     app: kibana-svc
 spec:
@@ -19,7 +19,7 @@ apiVersion: apps/v1
 kind: StatefulSet
 metadata:
   name: kibana
-  namespace: pro
+  namespace: [ENV]
   labels:
     app: kibana
 spec:
@@ -52,13 +52,13 @@ spec:
 apiVersion: extensions/v1beta1
 kind: Ingress
 metadata:
-  name: kibana-pro-ingress
-  namespace: pro
+  name: kibana-[ENV]-ingress
+  namespace: [ENV]
   annotations:
     kubernetes.io/ingress.class: nginx
 spec:
   rules:
-    - host: pro-kibana.ieasou.cn
+    - host: [ENV]-kibana.ieasou.cn
       http:
         paths:
           - path: /

+ 4 - 4
deploy-tmp-logstash.yaml

@@ -3,12 +3,12 @@ kind: ConfigMap
 apiVersion: v1
 metadata:
   name: logstash-config
-  namespace: pro
+  namespace: [ENV]
 data:
   logstash-config-named-k8s: |
     input {
       kafka {
-          bootstrap_servers => ["kafka-0.kafka-svc.pro.svc.cluster.local:9093,kafka-1.kafka-svc.pro.svc.cluster.local:9093,kafka-2.kafka-svc.pro.svc.cluster.local:9093"]
+          bootstrap_servers => ["kafka-0.kafka-svc.[ENV].svc.cluster.local:9093,kafka-1.kafka-svc.[ENV].svc.cluster.local:9093,kafka-2.kafka-svc.[ENV].svc.cluster.local:9093"]
           group_id => "es-test"
           topics => ["offline-process-topic"]
           codec => json
@@ -77,7 +77,7 @@ kind: Deployment
 apiVersion: apps/v1
 metadata:
   name: logstash-k8s-named
-  namespace: pro
+  namespace: [ENV]
   labels:
     app: logstash-k8s-named
 spec:
@@ -117,7 +117,7 @@ metadata:
   labels:
     app: logstash
   name: logstash
-  namespace: pro
+  namespace: [ENV]
 spec:
   ports:
   - name: http

+ 4 - 4
deploy-tmp-zookeeper.yaml

@@ -2,7 +2,7 @@ apiVersion: v1
 kind: Service
 metadata:
   name: zk-hs
-  namespace: pro
+  namespace: [ENV]
   labels:
     app: zk
 spec:
@@ -19,7 +19,7 @@ apiVersion: v1
 kind: Service
 metadata:
   name: zk-cs
-  namespace: pro
+  namespace: [ENV]
   labels:
     app: zk
 spec:
@@ -33,7 +33,7 @@ apiVersion: policy/v1beta1
 kind: PodDisruptionBudget
 metadata:
   name: zk-pdb
-  namespace: pro
+  namespace: [ENV]
 spec:
   selector:
     matchLabels:
@@ -44,7 +44,7 @@ apiVersion: apps/v1
 kind: StatefulSet
 metadata:
   name: zk
-  namespace: pro
+  namespace: [ENV]
 spec:
   selector:
     matchLabels:

+ 5 - 5
drone.elasticsearch.yml

@@ -22,7 +22,7 @@ steps:
       insecure: true
       mirror: https://ci7pm4nx.mirror.aliyuncs.com
       registry: hub.evbj.easou.com
-      repo: hub.evbj.easou.com/pro/elasticsearch
+      repo: hub.evbj.easou.com/[ENV]/elasticsearch
       tag: v1.0
   #    build_args:
   #      - JAR_FILE=
@@ -33,7 +33,7 @@ steps:
     pull: always
     # privileged: true
     environment:
-      JNLP_ENV: pro
+      JNLP_ENV: [ENV]
       JNLP_REPLICAS: 1
       JNLP_TAG: v1.0
       JNLP_VERSION: v1  # default v1, v2 for canary
@@ -70,8 +70,8 @@ steps:
       corpid: ww419ee4063735e1c0
       corp_secret: zpiRBLETH9eLwIMQ4eJ_r_dcm3BPSGeLHvTcft8Ot-M
       agent_id: 1000004
-      title: "Pipeline pro/elasticsearch:v1.0 Success"
-      description: "${DRONE_BUILD_LINK} pro/elasticsearch:v1.0 部署完成"
+      title: "Pipeline [ENV]/elasticsearch:v1.0 Success"
+      description: "${DRONE_BUILD_LINK} [ENV]/elasticsearch:v1.0 部署完成"
       msg_url: ${DRONE_BUILD_LINK}
       btn_txt: "否"
     when:
@@ -84,7 +84,7 @@ steps:
       corpid: ww419ee4063735e1c0
       corp_secret: zpiRBLETH9eLwIMQ4eJ_r_dcm3BPSGeLHvTcft8Ot-M
       agent_id: 1000004
-      title: "Pipeline pro/elasticsearch:v1.0 Failure"
+      title: "Pipeline [ENV]/elasticsearch:v1.0 Failure"
       description: "${DRONE_BUILD_LINK} 部署失败,请检查配置!"
       msg_url: ${DRONE_BUILD_LINK}
       btn_txt: "否"

+ 5 - 5
drone.kibana.yml

@@ -22,7 +22,7 @@ steps:
       insecure: true
       mirror: https://ci7pm4nx.mirror.aliyuncs.com
       registry: hub.evbj.easou.com
-      repo: hub.evbj.easou.com/pro/kibana
+      repo: hub.evbj.easou.com/[ENV]/kibana
       tag: v1.0
   #    build_args:
   #      - JAR_FILE=
@@ -33,7 +33,7 @@ steps:
     pull: always
     # privileged: true
     environment:
-      JNLP_ENV: pro
+      JNLP_ENV: [ENV]
       JNLP_REPLICAS: 1
       JNLP_TAG: v1.0
       JNLP_VERSION: v1  # default v1, v2 for canary
@@ -70,8 +70,8 @@ steps:
       corpid: ww419ee4063735e1c0
       corp_secret: zpiRBLETH9eLwIMQ4eJ_r_dcm3BPSGeLHvTcft8Ot-M
       agent_id: 1000004
-      title: "Pipeline pro/kibana:v1.0 Success"
-      description: "${DRONE_BUILD_LINK} pro/kibana:v1.0 部署完成"
+      title: "Pipeline [ENV]/kibana:v1.0 Success"
+      description: "${DRONE_BUILD_LINK} [ENV]/kibana:v1.0 部署完成"
       msg_url: ${DRONE_BUILD_LINK}
       btn_txt: "否"
     when:
@@ -84,7 +84,7 @@ steps:
       corpid: ww419ee4063735e1c0
       corp_secret: zpiRBLETH9eLwIMQ4eJ_r_dcm3BPSGeLHvTcft8Ot-M
       agent_id: 1000004
-      title: "Pipeline pro/kibana:v1.0 Failure"
+      title: "Pipeline [ENV]/kibana:v1.0 Failure"
       description: "${DRONE_BUILD_LINK} 部署失败,请检查配置!"
       msg_url: ${DRONE_BUILD_LINK}
       btn_txt: "否"

+ 5 - 5
drone.zookeeper.yml

@@ -22,7 +22,7 @@ steps:
       insecure: true
       mirror: https://ci7pm4nx.mirror.aliyuncs.com
       registry: hub.evbj.easou.com
-      repo: hub.evbj.easou.com/pro/zookeeper
+      repo: hub.evbj.easou.com/[ENV]/zookeeper
       tag: v1.0
   #    build_args:
   #      - JAR_FILE=
@@ -33,7 +33,7 @@ steps:
     pull: always
     # privileged: true
     environment:
-      JNLP_ENV: pro
+      JNLP_ENV: [ENV]
       JNLP_REPLICAS: 1
       JNLP_TAG: v1.0
       JNLP_VERSION: v1  # default v1, v2 for canary
@@ -70,8 +70,8 @@ steps:
       corpid: ww419ee4063735e1c0
       corp_secret: zpiRBLETH9eLwIMQ4eJ_r_dcm3BPSGeLHvTcft8Ot-M
       agent_id: 1000004
-      title: "Pipeline pro/zookeeper:v1.0 Success"
-      description: "${DRONE_BUILD_LINK} pro/zookeeper:v1.0 部署完成"
+      title: "Pipeline [ENV]/zookeeper:v1.0 Success"
+      description: "${DRONE_BUILD_LINK} [ENV]/zookeeper:v1.0 部署完成"
       msg_url: ${DRONE_BUILD_LINK}
       btn_txt: "否"
     when:
@@ -84,7 +84,7 @@ steps:
       corpid: ww419ee4063735e1c0
       corp_secret: zpiRBLETH9eLwIMQ4eJ_r_dcm3BPSGeLHvTcft8Ot-M
       agent_id: 1000004
-      title: "Pipeline pro/zookeeper:v1.0 Failure"
+      title: "Pipeline [ENV]/zookeeper:v1.0 Failure"
       description: "${DRONE_BUILD_LINK} 部署失败,请检查配置!"
       msg_url: ${DRONE_BUILD_LINK}
       btn_txt: "否"

+ 10 - 3
k8s-deploy.sh

@@ -1,5 +1,5 @@
 #!/bin/bash -c
-app_names=("zookeeper" "kibana" "elasticsearch")
+app_names=("zookeeper" "kibana" "elasticsearch" "kafka" "kafka-manager" "logstash")
 envs=("qa" "pro")
 
 #当前目录
@@ -13,11 +13,14 @@ echo "选择要部署的应用:"
 echo "(0) zookeeper"
 echo "(1) kibana"
 echo "(2) elasticsearch"
+echo "(3) kafka"
+echo "(4) kafka-manager"
+echo "(5) logstash"
 echo "----------------------------------"
 while [ 1 ]; do
   read input1
   if ! [[ $input1 =~ ^[0-9](,[0-9])*$ ]]; then
-    echo "请输入[0-2]之间的数字:"
+    echo "请输入[0-5]之间的数字:"
     continue
   fi
 
@@ -25,7 +28,7 @@ while [ 1 ]; do
     currApp=${app_names[$input1]}
     break
   else
-    echo "请输入[0-2]之间的数字:"
+    echo "请输入[0-5]之间的数字:"
   fi
 done
 
@@ -67,6 +70,10 @@ cp -f ../../deploy-tmp-${currApp}.yaml deploy-tmp.yaml
 cp -f ../../drone.${currApp}.yml .drone.yml
 cp -f ../../Dockerfile-${currApp} Dockerfile
 
+sed 's/\[ENV\]/'$ENV'/g' deploy-tmp.yaml > deploy-tmp.yaml
+sed 's/\[ENV\]/'$ENV'/g' .drone.yml > .drone.yml
+sed 's/\[ENV\]/'$ENV'/g' Dockerfile > Dockerfile
+
 git add deploy-tmp.yaml
 git add .drone.yml
 git add Dockerfile