deploy-tmp.yaml 3.0 KB

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