deploy-tmp.yaml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. ---
  2. apiVersion: apps/v1
  3. kind: $JNLP_CONTROL
  4. metadata:
  5. name: $DRONE_REPO_NAME
  6. namespace: $JNLP_ENV
  7. labels:
  8. app: $DRONE_REPO_NAME
  9. spec:
  10. serviceName: $DRONE_REPO_NAME
  11. replicas: $JNLP_REPLICAS
  12. selector:
  13. matchLabels:
  14. app: $DRONE_REPO_NAME
  15. template:
  16. metadata:
  17. labels:
  18. app: $DRONE_REPO_NAME
  19. spec:
  20. terminationGracePeriodSeconds: 180
  21. dnsPolicy: ClusterFirstWithHostNet
  22. dnsConfig:
  23. nameservers:
  24. - 223.5.5.5
  25. - 10.108.30.101
  26. - 10.26.22.50
  27. initContainers:
  28. - name: init
  29. image: $JNLP_REPO/dev/busybox
  30. command: ["chmod","777","-R","$JNLP_MOUNT_PATH"]
  31. imagePullPolicy: Always
  32. volumeMounts:
  33. - name: volume
  34. mountPath: $JNLP_MOUNT_PATH
  35. containers:
  36. - name: $DRONE_REPO_NAME
  37. image: $JNLP_REPO/$JNLP_ENV/$DRONE_REPO_NAME:$JNLP_TAG
  38. imagePullPolicy: Always
  39. env:
  40. - name: JAVA_OPTS
  41. value: $JNLP_JAVA_OPTS -Dspring.profiles.active=$JNLP_ACTIVE_PROFILE
  42. ports:
  43. - containerPort: $JNLP_CONTAINER_PORT
  44. name: port
  45. volumeMounts:
  46. - name: volume
  47. mountPath: $JNLP_MOUNT_PATH
  48. lifecycle:
  49. preStop:
  50. exec:
  51. command: ["/bin/sh","-c","curl -H 'loginName:admin' -H 'password:ea1so2ua3dm4in5' -X POST 127.0.0.1:8080/actuator/shutdown"]
  52. livenessProbe:
  53. tcpSocket:
  54. port: $JNLP_CONTAINER_PORT
  55. initialDelaySeconds: $JNLP_LIVENESS_INIT
  56. periodSeconds: $JNLP_LIVENESS_PER
  57. readinessProbe:
  58. tcpSocket:
  59. port: $JNLP_CONTAINER_PORT
  60. initialDelaySeconds: $JNLP_READINESS_INIT
  61. periodSeconds: $JNLP_READINESS_PER
  62. volumeClaimTemplates:
  63. - metadata:
  64. name: volume
  65. spec:
  66. accessModes: ["ReadWriteOnce"]
  67. storageClassName: $JNLP_STORAGE_CLASS #ceph-block
  68. resources:
  69. requests:
  70. storage: $JNLP_STORAGE_CAPACITY
  71. ---
  72. apiVersion: v1
  73. kind: Service
  74. metadata:
  75. name: $DRONE_REPO_NAME-svc
  76. namespace: $JNLP_ENV
  77. labels:
  78. app: $DRONE_REPO_NAME-svc
  79. spec:
  80. type: NodePort
  81. ports:
  82. - port: $JNLP_CONTAINER_PORT
  83. targetPort: $JNLP_CONTAINER_PORT
  84. selector:
  85. app: $DRONE_REPO_NAME
  86. ---
  87. apiVersion: networking.k8s.io/v1
  88. kind: Ingress
  89. metadata:
  90. name: $DRONE_REPO_NAME-ingress
  91. namespace: $JNLP_ENV
  92. spec:
  93. rules:
  94. - host: $JNLP_ENV-$DRONE_REPO_NAME$JNLP_DOMAIN #$JNLP_ENV-$DRONE_REPO_NAME$JNLP_DOMAIN datagroup-pro-ums.ieasou.cn
  95. http:
  96. paths:
  97. - path: /
  98. pathType: Prefix
  99. backend:
  100. service:
  101. name: $DRONE_REPO_NAME-svc
  102. port:
  103. number: $JNLP_CONTAINER_PORT
  104. ingressClassName: nginx