apiVersion: apps/v1 kind: Deployment metadata: name: scheduled-task-service namespace: erp labels: app: scheduled-task-service version: v1 spec: replicas: 2 selector: matchLabels: app: scheduled-task-service template: metadata: labels: app: scheduled-task-service version: v1 spec: containers: - name: scheduled-task-service image: erp-registry.erpzbbh.cn/scheduled-task-service:1.0.0 ports: - containerPort: 8088 name: http env: - name: SPRING_PROFILES_ACTIVE value: "k8s" - name: SPRING_DATASOURCE_URL valueFrom: configMapKeyRef: name: erp-config key: DATABASE_URL - name: SPRING_DATASOURCE_USERNAME valueFrom: secretKeyRef: name: erp-secrets key: DATABASE_USERNAME - name: SPRING_DATASOURCE_PASSWORD valueFrom: secretKeyRef: name: erp-secrets key: DATABASE_PASSWORD - name: SPRING_DATA_REDIS_HOST valueFrom: configMapKeyRef: name: erp-config key: REDIS_HOST - name: SPRING_DATA_REDIS_PORT value: "6379" - name: SPRING_DATA_REDIS_PASSWORD valueFrom: secretKeyRef: name: erp-secrets key: REDIS_PASSWORD resources: requests: memory: "512Mi" cpu: "250m" limits: memory: "1Gi" cpu: "1000m" livenessProbe: httpGet: path: /actuator/health port: 8088 initialDelaySeconds: 60 periodSeconds: 30 timeoutSeconds: 10 failureThreshold: 3 readinessProbe: httpGet: path: /actuator/health port: 8088 initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 lifecycle: preStop: exec: command: - sh - -c - sleep 10 affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchExpressions: - key: app operator: In values: - scheduled-task-service topologyKey: kubernetes.io/hostname --- apiVersion: v1 kind: Service metadata: name: scheduled-task-service namespace: erp labels: app: scheduled-task-service spec: type: ClusterIP ports: - port: 8088 targetPort: 8088 protocol: TCP name: http selector: app: scheduled-task-service --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: scheduled-task-service-hpa namespace: erp spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: scheduled-task-service minReplicas: 2 maxReplicas: 10 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 70 - type: Resource resource: name: memory target: type: Utilization averageUtilization: 80