apiVersion: apps/v1 kind: Deployment metadata: name: purchase-service namespace: erp labels: app: purchase-service version: v1 spec: replicas: 2 selector: matchLabels: app: purchase-service template: metadata: labels: app: purchase-service version: v1 spec: containers: - name: purchase-service image: erp-registry.erpzbbh.cn/purchase-service:latest imagePullPolicy: Always ports: - containerPort: 8010 name: http protocol: TCP env: - name: SPRING_PROFILES_ACTIVE value: "k8s" - name: JAVA_OPTS value: "-Xms512m -Xmx1024m -XX:+UseG1GC" - name: DB_HOST valueFrom: configMapKeyRef: name: erp-config key: DB_HOST - name: DB_PORT valueFrom: configMapKeyRef: name: erp-config key: DB_PORT - name: DB_NAME valueFrom: configMapKeyRef: name: erp-config key: DB_NAME - name: DB_USER valueFrom: secretKeyRef: name: erp-secrets key: DB_USER - name: DB_PASSWORD valueFrom: secretKeyRef: name: erp-secrets key: DB_PASSWORD - name: REDIS_HOST valueFrom: configMapKeyRef: name: erp-config key: REDIS_HOST - name: REDIS_PORT valueFrom: configMapKeyRef: name: erp-config key: REDIS_PORT - name: REDIS_PASSWORD valueFrom: secretKeyRef: name: erp-secrets key: REDIS_PASSWORD - name: NACOS_SERVER valueFrom: configMapKeyRef: name: erp-config key: NACOS_SERVER resources: requests: memory: "512Mi" cpu: "250m" limits: memory: "1024Mi" cpu: "500m" livenessProbe: httpGet: path: /actuator/health port: 8010 initialDelaySeconds: 60 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 readinessProbe: httpGet: path: /actuator/health port: 8010 initialDelaySeconds: 30 periodSeconds: 5 timeoutSeconds: 3 failureThreshold: 3 strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 0 --- apiVersion: v1 kind: Service metadata: name: purchase-service namespace: erp labels: app: purchase-service spec: type: ClusterIP ports: - port: 8010 targetPort: 8010 protocol: TCP name: http selector: app: purchase-service --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: purchase-service-hpa namespace: erp spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: purchase-service minReplicas: 2 maxReplicas: 5 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 70 - type: Resource resource: name: memory target: type: Utilization averageUtilization: 80