12.4 Horizontal Pod Autoscalerのデプロイ

次のステップでは、Horizontal Pod Autoscaler (HPA)を構成および実行して、CPUまたはメモリー使用率のリソース・メトリックに基づいてOracle Unified Directory (OUD)をスケーリングする方法を示します。

「Oracle Unified Directoryインスタンスの作成」のOUD構成の例を想定すると、デフォルトで3つのOUDサーバー(oud-ds-rs-0oud-ds-rs-1oud-ds-rs-2)が起動されます。

次の例では、StatefulSet oud-ds-rsをターゲットとするHPAリソースが作成されます。このリソースは、少なくとも3つのOUDサーバーから最大5つのOUDサーバーまで、OUDサーバーを自動スケーリングします。スケール・アップは、平均CPUが常に70%を超えている場合に行われます。スケール・ダウンは、平均CPUが常に70%を下回っている場合に行われます。

  1. OUDで使用されるStatefulSetを検索します:
    kubectl get statefulset -n <namespace>
    例:
    kubectl get statefulset -n oudns
    出力は次のようになります:
    NAME        READY   AGE
    oud-ds-rs   3/3     23h
    
  2. $WORKDIR/kubernetes/hpaに移動し、次を含むautoscalehpa.yamlファイルを作成します:
    #
    apiVersion: autoscaling/v2
    kind: HorizontalPodAutoscaler
    metadata:
      name: oud-sts-hpa
      namespace: oudns
    spec:
      scaleTargetRef:
        apiVersion: apps/v1
        kind: StatefulSet
        name: oud-ds-rs #statefulset name of oud
      behavior:
        scaleDown:
          stabilizationWindowSeconds: 60
        scaleUp:
          stabilizationWindowSeconds: 60
      minReplicas: 3
      maxReplicas: 5
      metrics:
      - type: Resource
        resource:
          name: cpu
          target:
            type: Utilization
            averageUtilization: 70
    説明:
    • oud-ds-rsは、前に返されたStatefulSetです
    • minReplicasは、デフォルトで起動されるOUDサーバーの数と一致する必要があります。
    • maxReplicasは、HPAで起動できるOUDサーバーの最大数に設定する必要があります。

    ノート:

    メモリー・メトリックに基づいてHPAを設定するには、次の内容でメトリック・ブロックを更新します。Oracleでは、CPUとメモリーの両方ではなく一方のみを使用することをお薦めします:
    metrics:
    - type: Resource
      resource:
        name: memory
        target:
          type: Utilization
          averageUtilization: 70
  3. 次のコマンドを実行して、オートスケーラを作成します:
    kubectl apply -f autoscalehpa.yaml
    出力は次のようになります:
    horizontalpodautoscaler.autoscaling/oud-sts-hpa created
  4. 次を実行して、オートスケーラのステータスを確認します:
    kubectl get hpa -n oudns
    
    出力は次のようになります:
    NAME          REFERENCE               TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
    oud-sts-hpa   StatefulSet/oud-ds-rs   5%/70%    3         5         3          33s