6 OHSコンテナのスケーリング

KubernetesでOHSコンテナをスケーリングするための基本的な操作について説明します。

6.1 既存のOHSサーバーの表示

デフォルトのOHSデプロイメントでは、ohs.yamlreplicas: 1を前提として、1つのOHSサーバーが起動されます。

実行中のOHSサーバーを表示するには、次のコマンドを実行します。
kubectl get pods -n <namespace>
次に例を示します:
kubectl get pods -n ohsns
出力は次のようになります。
NAME                         READY   STATUS    RESTARTS   AGE
ohs-domain-d5b648bc5-vkp4s   1/1     Running   0          5h17m

6.2 OHSサーバーのスケール・アップ

実行中のOracle HTTP Server (OHS)サーバーの数は、OHS用に構成されたreplicasパラメータによって決まります。OHSサーバーを追加するには:
  1. 次のkubectlコマンドを実行して、追加のOHSサーバーを起動します。
    kubectl -n <namespace> patch deployment ohs-domain -p '{"spec": {"replicas": <replica count>}}' 
    <replica count>は、起動するOHSサーバーの数です。
    次の例では、replicas3に増やすことで、2つの追加のOHSサーバーが起動されます。
    kubectl -n ohsns patch deployment  ohs-domain -p '{"spec": {"replicas": 3}}'
    出力は次のようになります:
    deployment.apps/ohs-domain patched
  2. 新しいOHSコンテナの起動中に、次のコマンドを実行して進行状況をモニターできます。
    kubectl get pods -n <namespace> -w
    次に例を示します:
    kubectl get pods -n ohsns -w
    出力は次のようになります:
    NAME                         READY   STATUS              RESTARTS   AGE
    ohs-domain-d5b648bc5-2q8bw   0/1     ContainerCreating   0          26s
    ohs-domain-d5b648bc5-qvdjn   0/1     Running             0          26s
    ohs-domain-d5b648bc5-vkp4s   1/1     Running             0          5h21m
    2つの新しいOHSポッド(この例ではohs-domain-d5b648bc5-2q8bwおよびohs-domain-d5b648bc5-qvdjn)が作成されています。
  3. ポッドがContainerCreatingステータスの間に何が起こっているかを確認するには、次を実行します:
    kubectl describe pod <podname> -n <namespace>
  4. ポッドが0/1 Runningステータスの間に何が起こっているかを確認するには、次を実行します:
    kubectl logs -f <pod> -n <namespace>
  5. すべてが開始されると、すべての追加OHSコンテナが実行されていることがわかります(READY 1/1)。
    NAME                         READY   STATUS    RESTARTS      AGE
    ohs-domain-d5b648bc5-2q8bw   1/1     Running   0             9m34s
    ohs-domain-d5b648bc5-qvdjn   1/1     Running   0             9m34s
    ohs-domain-d5b648bc5-vkp4s   1/1     Running   0             5h30m

6.3 OHSサーバーのスケール・ダウン

前述のとおり、実行中のOracle HTTP Server (OHS)サーバーの数は、OHS用に構成されたreplicasパラメータによって決まります。1つ以上のOHSサーバーを停止するには:
  1. 次のkubectlコマンドを実行して、OHSサーバーをスケール・ダウンします。
    kubectl -n <namespace> patch deployment ohs-domain -p '{"spec": {"replicas": <replica count>}}'
    <replica count>は、実行するOHSサーバーの数です。
    次の例では、replicas1に縮小されるため、1つのOHSのみが実行されています。
    kubectl -n ohsns patch deployment  ohs-domain -p '{"spec": {"replicas": 1}}'
    出力は次のようになります:
    deployment.apps/ohs-domain patched
  2. 次のkubectlコマンドを実行して、ポッドを表示します:
     kubectl get pods -n <namespace>
    次に例を示します:
    kubectl get pods -n ohsns
    出力は次のようになります:
    NAME                         READY   STATUS        RESTARTS   AGE 
    ohs-domain-d5b648bc5-2q8bw   0/1     Terminating   0          12m
    ohs-domain-d5b648bc5-qvdjn   0/1     Terminating   0          12m
    ohs-domain-d5b648bc5-vkp4s   1/1     Running       0          5h31m
    2つのポッドのSTATUSTerminatingになりました。ポッドが消え、1つのOHSポッドが残るまで、コマンドの実行を続けます。
    NAME                         READY   STATUS    RESTARTS   AGE 
    ohs-domain-d5b648bc5-vkp4s   1/1     Running   0          5h32m