6.3.5. ノード上でのスワップメモリー使用の許可


クラスターノード上のワークロードにスワップメモリーの使用を許可できます。

重要

ノード上のスワップメモリーのサポートは、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

注記

スワップメモリーのサポートを利用できるのは、Container-native Virtualization (CNV) のユーザーまたはユースケースだけです。

ノード上でスワップメモリーの使用を許可するには、kubeletconfig カスタムリソース (CR) を作成し、failSwapOn パラメーターを false に設定します。

必要に応じて、swapBehavior パラメーターを次のいずれかの値に設定することで、対象ノード上の OpenShift Container Platform ワークロードによるスワップメモリーの使用を制御できます。

  • NoSwap は、OpenShift Container Platform ワークロードによるスワップメモリーの使用を防止します。
  • LimitedSwap は、Burstable QoS クラスに該当する OpenShift Container Platform ワークロードにスワップメモリーの使用を許可します。

swapBehavior 設定に関係なく、failSwapOn パラメーターが false の場合、OpenShift Container Platform によって管理されていない対象ノード上のワークロードは、引き続きスワップメモリーを使用できます。

この設定がないと、スワップメモリーが存在する場合に kubelet が起動しません。そのため、ノードでスワップメモリーを有効にする前に、OpenShift Container Platform でスワップメモリーを許可する必要があります。ノードにスワップメモリーが存在しない場合、OpenShift Container Platform でスワップメモリーを有効にしても効果はありません。

警告

スワップメモリーを使用すると、ワークロードのパフォーマンスとリソース不足の処理に悪影響が及ぶ可能性があります。コントロールプレーンノードでスワップメモリーを有効化しないでください。

前提条件

  • バージョン 4.10 以降を使用する OpenShift Container Platform クラスターが実行中である。
  • クラスターが cgroup v2 を使用するように設定されている。スワップメモリーは、cgroup v1 を使用するクラスターのノードではサポートされていません。
  • 管理者権限を持つユーザーとしてクラスターにログインしている。
  • クラスターで TechPreviewNoUpgrade 機能セットを有効にしている (ノード クラスターの操作 フィーチャーゲートを使用した機能の有効化 を参照)。

    注記

    TechPreviewNoUpgrade 機能セットを有効にすると元に戻すことができなくなり、マイナーバージョンの更新ができなくなります。これらの機能セットは、実稼働クラスターでは推奨されません。

手順

  1. スワップメモリーを許可するマシン設定プールにカスタムラベルを適用します。

    $ oc label machineconfigpool worker kubelet-swap=enabled
  2. カスタムリソース (CR) を作成し、スワップ設定を有効にして設定します。

    apiVersion: machineconfiguration.openshift.io/v1
    kind: KubeletConfig
    metadata:
      name: swap-config
    spec:
      machineConfigPoolSelector:
        matchLabels:
          kubelet-swap: enabled
      kubeletConfig:
        failSwapOn: false
        memorySwap:
          swapBehavior: LimitedSwap
    #...

    ここでは、以下のようになります。

    failSwapOn
    false に設定すると、関連付けられたノードでスワップメモリーを使用できるようになります。スワップメモリーの使用を無効にするには、true に設定します。
    swapBehavior

    オプション: OpenShift Container Platform Pod のスワップメモリーの動作を指定します。

    • NoSwap: OpenShift Container Platform Pod はスワップを使用できません。これがデフォルトです。
    • LimitedSwap: Burstable QoS クラスの OpenShift Container Platform Pod にのみスワップの使用を許可します。
  3. swapaccount=1 カーネル引数を設定してノード上のスワップメモリーを有効にし、必要に応じてスワップメモリーを設定します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る