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


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

重要

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

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

注記

スワップメモリーの有効化は、Container-native Virtualization (CNV) ユーザーまたはユースケースでのみ使用できます。

警告

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

スワップメモリーを有効にするには、kubeletconfig カスタムリソース (CR) を作成して、swapbehavior パラメーターを設定します。制限付きまたは無制限のスワップメモリーを設定できます。

  • 制限付き: LimitedSwap 値を使用して、使用できるスワップメモリーワークロード量を制限します。OpenShift Container Platform によって管理されていないノード上のワークロードは、引き続きスワップメモリーを使用できます。LimitedSwap の動作は、ノードが Linux コントロールグループ バージョン 1 (cgroups v1) またはバージョン 2 (cgroup v 2) で実行されているかどうかによって異なります。

    • cgroup v2: OpenShift Container Platform ワークロードは、設定されている場合、Pod のメモリー制限まで、メモリーとスワップの任意の組み合わせを使用できます。
    • cgroup v1: OpenShift Container Platform ワークロードはスワップメモリーを使用できません。
  • 制限なし: UnlimitedSwap 値を使用して、ワークロードがシステム制限まで、要求したスワップメモリーを使用できるようにします。

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

前提条件

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

    注記

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

  • ノードで cgroup v2 が有効になっている場合は、swapaccount=1 カーネル引数を設定して、ノードでスワップアカウンティングを有効にする必要があります。

手順

  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 のスワップメモリーの動作を指定します。
  3. マシンでスワップメモリーを有効にします。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る