フラミナル

考え方や調べたことを書き殴ります。IT技術系記事多め

【ArgoCD】HPA を使って複数のメトリクスを対象に追加するとOut of Sync状態のままになる

f:id:lirlia:20210917203459p:plain

問題

HPA を使うとOut of Sync状態のままになる

spec:
  maxReplicas: 30
  metrics:
    - resource:
        name: cpu
        target:
          averageUtilization: 70
          type: Utilization
      type: Resource
    - resource:
        name: memory
        target:
          averageUtilization: 70
          type: Utilization
      type: Resource

原因

HPAがmanifestに設定した値を入れ替えてしまうために、GitOps系やDiffツールで差分が発生してしまう。

解消方法は以下のいずれか。

  • ArgoCDの差分無視を使用する
  • HPAで並び替えられた後の設定で書く

ArgoCDの差分無視を使用する

Applicationのリソースに以下を指定する。

  ignoreDifferences:
 - group: autoscaling
    kind: HorizontalPodAutoscaler
    jsonPointers:
    - /spec/metrics

HPAで並び替えられた後の設定で書く

spec:
  maxReplicas: 30
  metrics:
    - resource:
        name: memory
        target:
          averageUtilization: 70
          type: Utilization
      type: Resource
    - resource:
        name: cpu
        target:
          averageUtilization: 70
          type: Utilization
      type: Resource

先にメモリを書くようにする。