deploy-tmp.yaml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. ---
  2. apiVersion: v1
  3. kind: ConfigMap
  4. metadata:
  5. name: filebeat-config
  6. namespace: qa
  7. data:
  8. filebeat.yml: |
  9. filebeat.inputs:
  10. - type: log
  11. paths:
  12. - "/data/logs/app/all.log"
  13. setup.template.name: "filebeat"
  14. setup.template.pattern: "filebeat-*"
  15. output.elasticsearch:
  16. username: ${ELASTICSEARCH_USERNAME}
  17. password: ${ELASTICSEARCH_PASSWORD}
  18. hosts: ["{{ .Values.elastricsearch.addr }}"]
  19. index: "frontend-filebeat"
  20. ---
  21. apiVersion: apps/v1
  22. kind: StatefulSet
  23. metadata:
  24. name: offline-process-charge
  25. namespace: qa
  26. labels:
  27. app: offline-process-charge
  28. spec:
  29. serviceName: offline-process-charge
  30. replicas: 1
  31. selector:
  32. matchLabels:
  33. app: offline-process-charge
  34. template:
  35. metadata:
  36. labels:
  37. app: offline-process-charge
  38. spec:
  39. terminationGracePeriodSeconds: 60
  40. initContainers:
  41. - name: init
  42. image: hub.evbj.easou.com/dev/busybox
  43. command: [ "chmod","777","-R","/data" ]
  44. imagePullPolicy: Always
  45. volumeMounts:
  46. - name: volume
  47. mountPath: /data
  48. #nodeSelector:
  49. # app.touchrs: touchrs
  50. containers:
  51. - name: offline-process-charge
  52. image: hub.evbj.easou.com/qa/offline-process-charge:v1.0.39
  53. imagePullPolicy: Always
  54. env:
  55. - name: JAVA_OPTS
  56. 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"
  57. ports:
  58. - containerPort: 8080
  59. name: port
  60. - containerPort: 8001
  61. name: "jvm-debug"
  62. volumeMounts:
  63. - name: volume
  64. mountPath: /data
  65. lifecycle:
  66. preStop:
  67. exec:
  68. command: ["/bin/sh","-c","curl -u amdin:ea1so2ua3dm4in5 -X POST 127.0.0.1:8080/actuator/shutdown"]
  69. livenessProbe:
  70. httpGet:
  71. path: /actuator/health
  72. port: 8080
  73. httpHeaders:
  74. - name: Custom-Header
  75. value: Awesome
  76. - name: Custom-Header
  77. value: Awesome
  78. initialDelaySeconds: 30 #60s后启动第一次探测
  79. periodSeconds: 10 # 每隔10s启动一次探测
  80. timeoutSeconds: 3 # 超时时间3s
  81. successThreshold: 1 # 成功1次即表示容器健康
  82. failureThreshold: 5 # 连续5次失败,则判定容器不健康,默认3次
  83. readinessProbe:
  84. tcpSocket:
  85. port: 8080
  86. initialDelaySeconds: 30
  87. periodSeconds: 15
  88. - image: docker.elastic.co/beats/filebeat:6.8.12
  89. imagePullPolicy: Always
  90. name: filebeat
  91. env:
  92. - name: ELASTICSEARCH_HOST
  93. value: elasticsearch
  94. - name: ELASTICSEARCH_PORT
  95. value: "9200"
  96. - name: ELASTICSEARCH_USERNAME
  97. value: elastic
  98. - name: ELASTICSEARCH_PASSWORD
  99. value: changeme
  100. volumeMounts:
  101. - name: volume #日志同时挂载在nginx和filebeat中
  102. mountPath: /data
  103. - name: filebeat-config
  104. mountPath: /usr/share/filebeat/filebeat.yml
  105. subPath: filebeat.yml
  106. volumes:
  107. - name: filebeat-config
  108. configMap:
  109. name: filebeat-config
  110. items:
  111. - key: filebeat.yml
  112. path: filebeat.yml
  113. volumeClaimTemplates:
  114. - metadata:
  115. name: volume
  116. spec:
  117. accessModes: [ "ReadWriteOnce" ]
  118. storageClassName: rbd
  119. resources:
  120. requests:
  121. storage: 100Gi
  122. ---
  123. apiVersion: v1
  124. kind: Service
  125. metadata:
  126. name: offline-process-charge-svc
  127. namespace: qa
  128. labels:
  129. app: offline-process-charge-svc
  130. spec:
  131. type: NodePort
  132. ports:
  133. - port: 80
  134. targetPort: 8080
  135. name: "main"
  136. selector:
  137. app: offline-process-charge
  138. ---
  139. apiVersion: extensions/v1beta1
  140. kind: Ingress
  141. metadata:
  142. name: offline-process-charge-ingress
  143. namespace: qa
  144. annotations:
  145. kubernetes.io/ingress.class: nginx
  146. spec:
  147. rules:
  148. - host: qa-offline-process-charge.ieasou.cn
  149. http:
  150. paths:
  151. - path: /
  152. backend:
  153. serviceName: offline-process-charge-svc
  154. servicePort: 80