kubernetes 如何避免spring应用程序加载时k8s hpa上的cpu峰值

8aqjt8rx  于 2023-06-21  发布在  Kubernetes
关注(0)|答案(1)|浏览(180)

我在K8s上管理一个Spring应用程序。
Pod大约需要2~3分钟才能运行应用程序,探头等待时间设置为4分钟。

重新部署应用程序后,Pod初始化过程中出现CPU尖峰现象。因此,当执行滚动更新时,由于CPU尖峰症状,所有Pod都被放大。

我不想收集一个cpu,而初始化应用程序。有什么办法可以延迟收集cpu信息吗?

K8s版本:1.26.3
部署信息

...
livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /probex
            port: 9006
            scheme: HTTP
          initialDelaySeconds: 240
          periodSeconds: 60
          successThreshold: 1
          timeoutSeconds: 1
        name: sample-container
        ports:
        - containerPort: 9006
          name: http
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /probex
            port: 9006
            scheme: HTTP
          initialDelaySeconds: 240
          periodSeconds: 60
          successThreshold: 1
          timeoutSeconds: 1
        resources:
          limits:
            memory: 8Gi
          requests:
            cpu: 500m
            memory: 8Gi
...

HPA信息

...
spec:
  maxReplicas: 5
  metrics:
  - resource:
      name: memory
      target:
        averageUtilization: 70
        type: Utilization
    type: Resource
  - resource:
      name: cpu
      target:
        averageUtilization: 70
        type: Utilization
    type: Resource
  minReplicas: 1
...
svujldwt

svujldwt1#

您可以在hpa配置中阅读有关stabilizationWindowSecondsperiodSeconds的参数,并根据您的用例调整它们。

相关问题