deploy-tmp.yaml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. ---
  2. apiVersion: apps/v1
  3. kind: StatefulSet
  4. metadata:
  5. name: offline-process-charge
  6. namespace: qa
  7. labels:
  8. app: offline-process-charge
  9. spec:
  10. serviceName: offline-process-charge
  11. replicas: 1
  12. selector:
  13. matchLabels:
  14. app: offline-process-charge
  15. template:
  16. metadata:
  17. labels:
  18. app: offline-process-charge
  19. spec:
  20. terminationGracePeriodSeconds: 60
  21. initContainers:
  22. - name: init
  23. image: hub.evbj.easou.com/dev/busybox
  24. command: [ "chmod","777","-R","/data" ]
  25. imagePullPolicy: Always
  26. volumeMounts:
  27. - name: volume
  28. mountPath: /data
  29. #nodeSelector:
  30. # app.touchrs: touchrs
  31. containers:
  32. - name: offline-process-charge
  33. image: hub.evbj.easou.com/qa/offline-process-charge:v1.1.17
  34. imagePullPolicy: Always
  35. env:
  36. - name: JAVA_OPTS
  37. value: "-server -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8001,suspend=n -Xmx2g -Xms2g -Xss512k -Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=test"
  38. ports:
  39. - containerPort: 8080
  40. name: port
  41. - containerPort: 8001
  42. name: "jvm-debug"
  43. volumeMounts:
  44. - name: volume
  45. mountPath: /data
  46. lifecycle:
  47. preStop:
  48. exec:
  49. command: ["/bin/sh","-c","curl -H 'loginName:admin -H password:ea1so2ua3dm4in5' -X POST 127.0.0.1:8080/actuator/shutdown"]
  50. livenessProbe:
  51. httpGet:
  52. path: /actuator/health
  53. port: 8080
  54. httpHeaders:
  55. - name: loginName
  56. value: admin
  57. - name: password
  58. value: ea1so2ua3dm4in5
  59. initialDelaySeconds: 30 #60s后启动第一次探测
  60. periodSeconds: 10 # 每隔10s启动一次探测
  61. timeoutSeconds: 3 # 超时时间3s
  62. successThreshold: 1 # 成功1次即表示容器健康
  63. failureThreshold: 5 # 连续5次失败,则判定容器不健康,默认3次
  64. readinessProbe:
  65. tcpSocket:
  66. port: 8080
  67. initialDelaySeconds: 30
  68. periodSeconds: 15
  69. - image: docker.elastic.co/beats/filebeat:6.8.12
  70. imagePullPolicy: Always
  71. name: filebeat
  72. volumeMounts:
  73. - name: volume #日志同时挂载在nginx和filebeat中
  74. mountPath: /data
  75. - name: filebeat-config
  76. mountPath: /usr/share/filebeat/filebeat.yml
  77. subPath: filebeat.yml
  78. volumes:
  79. - name: filebeat-config
  80. configMap:
  81. name: filebeat-config-offline-process-charge
  82. items:
  83. - key: filebeat.yml
  84. path: filebeat.yml
  85. volumeClaimTemplates:
  86. - metadata:
  87. name: volume
  88. spec:
  89. accessModes: [ "ReadWriteOnce" ]
  90. storageClassName: rbd
  91. resources:
  92. requests:
  93. storage: 100Gi
  94. ---
  95. apiVersion: v1
  96. kind: Service
  97. metadata:
  98. name: offline-process-charge-svc
  99. namespace: qa
  100. labels:
  101. app: offline-process-charge-svc
  102. spec:
  103. type: NodePort
  104. ports:
  105. - port: 80
  106. targetPort: 8080
  107. name: "main"
  108. selector:
  109. app: offline-process-charge
  110. ---
  111. apiVersion: extensions/v1beta1
  112. kind: Ingress
  113. metadata:
  114. name: offline-process-charge-ingress
  115. namespace: qa
  116. annotations:
  117. kubernetes.io/ingress.class: nginx
  118. spec:
  119. rules:
  120. - host: qa-offline-process-charge.ieasou.cn
  121. http:
  122. paths:
  123. - path: /
  124. backend:
  125. serviceName: offline-process-charge-svc
  126. servicePort: 80
  127. ---
  128. apiVersion: v1
  129. kind: ConfigMap
  130. metadata:
  131. name: filebeat-config-offline-process-charge
  132. namespace: qa
  133. data:
  134. filebeat.yml: |
  135. filebeat.inputs:
  136. - type: log
  137. enabled: true
  138. #多行合并
  139. multiline.pattern: '^\[[0-9]{4}-[0-9]{2}-[0-9]{2}'
  140. multiline.negate: true
  141. multiline.match: after
  142. multiline.timeout: 30
  143. fields:
  144. log_topic: offline-process-charge
  145. fields_under_root: true
  146. paths:
  147. - "/data/logs/app/*.log"
  148. - "/data/logs/*.log"
  149. setup.template.enabled: true
  150. setup.template.name: offline-process-charge
  151. setup.template.pattern: offline-process-charge*
  152. setup.dashboards.enabled: true
  153. output.kafka:
  154. version: 0.10.2.1
  155. enable: true
  156. hosts: ["kafka-0.kafka-svc.qa.svc.cluster.local:9093", "kafka-1.kafka-svc.qa.svc.cluster.local:9093", "kafka-2.kafka-svc.qa.svc.cluster.local:9093"]
  157. topic: 'offline-process-topic'
  158. partition.round_robin:
  159. reachable_only: false
  160. required_acks: 0
  161. compression: gzip
  162. max_message_bytes: 1000000
  163. setup.kibana:
  164. host: 'qa-kibana.ieasou.cn:80'