yangxg 3 лет назад
Сommit
86427933c2
3 измененных файлов с 178 добавлено и 0 удалено
  1. 93 0
      .drone.yml
  2. 1 0
      Dockerfile
  3. 84 0
      deploy-tmp.yaml

+ 93 - 0
.drone.yml

@@ -0,0 +1,93 @@
+kind: pipeline
+type: kubernetes
+name: kafka-manager
+
+clone:
+  disable: true
+
+metadata:
+  namespace: drone
+
+steps:
+  - name: clone
+    image: hub.evbj.easou.com/dev/alpine-git:20200622
+    commands:
+      - git clone $DRONE_GIT_HTTP_URL .
+
+  - name: build
+    image: plugins/docker
+    settings:
+      username: admin
+      password: Easou2)1*
+      insecure: true
+      mirror: https://ci7pm4nx.mirror.aliyuncs.com
+      registry: hub.evbj.easou.com
+      repo: hub.evbj.easou.com/pro/kafka-manager
+      tag: v1.0
+  #    build_args:
+  #      - JAR_FILE=
+  #      - SERVER_PORT=8080
+
+  - name: deployment
+    image: hub.evbj.easou.com/dev/drone-agent:v2.0.0
+    pull: always
+    # privileged: true
+    environment:
+      JNLP_ENV: pro
+      JNLP_REPLICAS: 1
+      JNLP_TAG: v1.0
+      JNLP_VERSION: v1  # default v1, v2 for canary
+      DEPLOY_ENV: k8s-2 # 可以选择把应用部署到集群:k8s-1 or k8s-2
+      JNLP_REPO: hub.evbj.easou.com
+      JNLP_CONTAINER_PORT: 80
+      JNLP_INGRESS: nginx
+      JNLP_SVC_MODE: http
+      JNLP_STORAGE_CLASS: rbd
+      JNLP_DOMAIN: .ieasou.cn
+      JNLP_CONTROL: StatefulSet
+      JNLP_STORAGE_CAPACITY: 100Gi
+      JNLP_MOUNT_PATH: /data
+      JNLP_LIVENESS_INIT: 30
+      JNLP_LIVENESS_PER: 15
+      JNLP_READINESS_INIT: 30
+      JNLP_READINESS_PER: 15
+      JNLP_INGRESS_PUB: no
+    commands:
+      # 切换目标集群
+      - kubecm s $DEPLOY_ENV
+      # 生成配置YAML文件
+      - python3 /root/tools.py -b
+      # 部署服务到kubernetes上
+      - python3 /root/tools.py -a
+      # 检查服务部署状态
+      - python3 /root/tools.py -c
+      # 添加dns解析记录,生成访问域名
+      - python3 /root/tools.py -d
+
+  - name: success
+    image: hub.evbj.easou.com/dev/drone-wechat:20200622
+    settings:
+      corpid: ww419ee4063735e1c0
+      corp_secret: zpiRBLETH9eLwIMQ4eJ_r_dcm3BPSGeLHvTcft8Ot-M
+      agent_id: 1000004
+      title: "Pipeline pro/kafka-manager:v1.0 Success"
+      description: "${DRONE_BUILD_LINK} pro/kafka-manager:v1.0 部署完成"
+      msg_url: ${DRONE_BUILD_LINK}
+      btn_txt: "否"
+    when:
+      status:
+        - success
+
+  - name: failure
+    image: hub.evbj.easou.com/dev/drone-wechat:20200622
+    settings:
+      corpid: ww419ee4063735e1c0
+      corp_secret: zpiRBLETH9eLwIMQ4eJ_r_dcm3BPSGeLHvTcft8Ot-M
+      agent_id: 1000004
+      title: "Pipeline pro/kafka-manager:v1.0 Failure"
+      description: "${DRONE_BUILD_LINK} 部署失败,请检查配置!"
+      msg_url: ${DRONE_BUILD_LINK}
+      btn_txt: "否"
+    when:
+      status:
+        - failure

+ 1 - 0
Dockerfile

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

+ 84 - 0
deploy-tmp.yaml

@@ -0,0 +1,84 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: kafka-manager
+  namespace: pro
+  labels:
+    app: kafka-manager
+spec:
+  type: NodePort
+  ports:
+  - name: kafka
+    port: 9000
+    targetPort: 9000
+    nodePort: 30031
+  selector:
+    app: kafka-manager
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: kafka-manager
+  namespace: pro
+  labels:
+    app: kafka-manager
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: kafka-manager
+  template:
+    metadata:
+      labels:
+        app: kafka-manager
+    spec:
+      containers:
+      - name: kafka-manager
+        image: zenko/kafka-manager:1.3.3.22
+        imagePullPolicy: IfNotPresent
+        ports:
+          - name: kafka-manager
+            containerPort: 9000
+            protocol: TCP
+        env:
+          - name: ZK_HOSTS
+            value: "zk-cs.pro.svc.cluster.local:2181"
+        livenessProbe:
+          httpGet:
+            path: /api/health
+            port: kafka-manager
+          initialDelaySeconds: 30
+          periodSeconds: 10
+          timeoutSeconds: 3
+          successThreshold: 1
+          failureThreshold: 5
+        readinessProbe:
+          httpGet:
+            path: /api/health
+            port: kafka-manager
+          initialDelaySeconds: 30
+          periodSeconds: 15
+        resources:
+          limits:
+            cpu: 500m
+            memory: 512Mi
+          requests:
+            cpu: 250m
+            memory: 256Mi
+---
+apiVersion: extensions/v1beta1
+kind: Ingress
+metadata:
+  name: kafka-manager-ingress
+  namespace: pro
+  annotations:
+    kubernetes.io/ingress.class: nginx
+spec:
+  rules:
+    - host: pro-kafka-manager.ieasou.cn
+      http:
+        paths:
+          - path: /
+            backend:
+              serviceName: kafka-manager
+              servicePort: 80