2.6.2. Pod のインプレースサイズ変更の設定
Pod のインプレースサイズ変更を使用するには、Pod 仕様にサイズ変更ポリシーを追加する必要があります。
既存の Pod にサイズ変更ポリシーを追加または変更することはできません。ただし、Pod にオーナーオブジェクトがある場合は、デプロイメントなどの Pod のオーナーオブジェクトでポリシーを追加または編集できます。
手順
サイズ変更ポリシーを使用して Pod 仕様を作成するか、既存の Pod のオーナーオブジェクトにサイズ変更ポリシーを追加します。
次の例のような YAML ファイルを作成します。
apiVersion: v1 kind: Pod metadata: name: resize-pod spec: # ... containers: - name: pause resizePolicy:1 - resourceName: cpu restartPolicy: NotRequired - resourceName: memory restartPolicy: RestartContainer # ...- 1
- サイズ変更ポリシーを指定します。CPU リソースやメモリーリソースについて、次のいずれかの値を指定します。
-
NotRequired: Pod を再起動せずにリソースの変更を適用します。これは、サイズ変更ポリシーを使用する場合のデフォルト値です。 -
RestartContainer: リソースの変更を適用し、Pod を再起動します。
-
次のようなコマンドを実行してオブジェクトを作成します。
$ oc create -f <file_name>.yaml
検証
次のようなコマンドを実行して、CPU またはメモリーの要求または制限を変更し、サイズ変更ポリシーが適用されていることを確認します。
--subresource resizeフラグを含める必要があります。Pod にデプロイメントなどのオーナーオブジェクトがある場合は、オーナーオブジェクトを編集する必要があります。$ oc edit pod <pod_name> --subresource resizeポリシーが適用されると、Pod は期待どおりに応答します。
$ oc get podsサイズ変更ポリシーが
NotRequiredの場合、Pod は再起動されません。出力例
NAME READY STATUS RESTARTS AGE resize-pod 1/1 Running 0 5sサイズ変更ポリシーが
RestartContainerの場合、Pod は再起動されます。出力例
NAME READY STATUS RESTARTS AGE resize-pod 1/1 Running 1 (5s ago) 5s