16.5 HPAの確認

Horizontal Pod Autoscaler (HPA)が動作することを確認するには、次のステップを実行します:
  1. Oracle Access Management (OAM)サーバーの現在のステータスを確認します:
    kubectl get pods -n oamns
    出力は次のようになります:
    NAME                                                     READY   STATUS      RESTARTS        AGE
    accessdomain-adminserver                                 0/1     Running     0               141m
    accessdomain-oam-policy-mgr1                             0/1     Running     0               138m
    accessdomain-oam-server1                                 1/1     Running     0               138m
    前述の例では、accessdomain-oam-server1のみが実行されています。
  2. HPAでWebLogicクラスタaccessdomain-oam-clusterをスケール・アップできるかどうかをテストするには、次のコマンドを実行します:
    kubectl exec --stdin --tty accessdomain-oam-server1 -n oamns -- /bin/bash
    これにより、oam_server1ポッド内のBashシェルに移動します:
    [oracle@accessdomain-oam-server1 oracle]$
  3. Bashシェル内で、次のコマンドを実行してCPUへの負荷を増やします:
    [oracle@accessdomain-oam-server1 oracle]$ dd if=/dev/zero of=/dev/null
    このコマンドは、フォアグラウンドで実行が継続されます。
  4. Bashシェル外部のコマンド・ウィンドウで、次のコマンドを実行して現在のCPU使用率を表示します:
    kubectl get hpa -n oamns
    出力は次のようになります:
    NAME                           REFERENCE                          TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
    accessdomain-oam-cluster-hpa   Cluster/accessdomain-oam-cluster   470%/70%    1         5         1        21s
    
    前述の例では、CPUは470%に増加しています。これは70%の制限を超えているため、オートスケーラはクラスタ・リソース上のレプリカを増やし、オペレータは追加のクラスタ・メンバーを起動して対応します。
  5. 次を実行して、追加のOAM管理対象サーバーが起動されているかどうかを確認します:
    kubectl get pods -n oamns
    出力は次のようになります:
    NAME                                                     READY   STATUS      RESTARTS        AGE
    accessdomain-adminserver                                 0/1     Running                     143m
    accessdomain-oam-policy-mgr1                             0/1     Running     0               140m
    accessdomain-oam-server1                                 1/1     Running     0               140m
    accessdomain-oam-server2                                 1/1     Running     0               3m20s
    accessdomain-oam-server3                                 1/1     Running     0               3m20s
    accessdomain-oam-server4                                 1/1     Running     0               3m19s
    accessdomain-oam-server5                                 1/1     Running     0               3m5s
    
    前述の例では、さらに4つのOAM管理対象サーバーが起動されています(oam-server2 - oam-server5)。

    ノート:

    サーバーが表示されて起動するまで時間がかかる場合があります。サーバーのREADYステータスが1/1になると、サーバーは起動しています。
  6. CPUへの負荷を停止するには、両方のBashシェルで[Ctrl]+[C]を発行してから、Bashシェルを終了します:
    [oracle@accessdomain-oam-server1 oracle]$ dd if=/dev/zero of=/dev/null
    ^C
    [oracle@accessdomain-oam-server1 oracle]$ exit
  7. 次のコマンドを実行して、現在のCPU使用率を表示します:
    kubectl get hpa -n oamns
    出力は次のようになります:
    NAME                           REFERENCE                          TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
    accessdomain-oam-cluster-hpa   Cluster/accessdomain-oam-cluster   19%/70%   1         5         5          19m
    
    前述の例では、CPUは19%に減少しています。これは70%のしきい値未満であるため、オートスケーラによってサーバーがスケール・ダウンされることがわかります:
    kubectl get pods -n oamns
    出力は次のようになります:
    NAME                                                     READY   STATUS        RESTARTS        AGE
    accessdomain-adminserver                                 1/1     Running       0               152m
    accessdomain-oam-policy-mgr1                             1/1     Running       0               149m
    accessdomain-oam-server1                                 1/1     Running       0               149m
    accessdomain-oam-server2                                 1/1     Running       0               14m
    accessdomain-oam-server3                                 0/1     Terminating   0               14m
    最終的に、oam-server1を除くすべてのサーバーが消失します:
    NAME                                                     READY   STATUS      RESTARTS       AGE
    accessdomain-adminserver                                 1/1     Running     0              154m
    accessdomain-oam-policy-mgr1                             1/1     Running     0              151m
    accessdomain-oam-server1                                 1/1     Running     0              151m