Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

44.2. ノードの各種機能の無効化

ノードホストの機能をオフにするには、適切な ノード設定マップ を編集します。

ノード設定ファイルを変更するには、ノード設定マップ を必要に応じて更新します。node-config.yaml ファイルは手動で変更しないようにしてください。

  1. オフにする必要のある機能については、<feature_name>=falsekubeletArguments の下に入力します。

    以下に例を示します。

    kubeletArguments:
      feature-gates:
      - HugePages=false

    複数の機能ゲートを 1 つのコンマ区切り行で指定します。

    kubeletArguments:
      feature-gates:
      - RotateKubeletClientCertificate=false,RotateKubeletServerCertificate=false,ExpandPersistentVolumes=true,HugePages=false
  2. 変更を有効にするために OpenShift Container Platform サービスを再起動します。

    # systemctl restart atomic-openshift-node.service

無効にされた機能を再度有効にするには、ノード設定ファイルを編集して <feature_name>=false を削除し、ノードサービスを再起動します。

ノード設定ファイルを変更するには、ノード設定マップ を必要に応じて更新します。node-config.yaml ファイルは手動で変更しないようにしてください。

44.2.1. 機能ゲートの一覧

以下の一覧を使用し、無効にする必要のある機能の名前を判別します。

機能ゲート説明

Accelerator

Docker の使用時に Nvidia GPU サポートを有効にします。

AdvancedAuditing

高度な監査 を有効にします。

APIListChunking

API クライアントが LIST または GET リソースを API サーバーからチャンクで取得できるようにします。

APIResponseCompression

LIST または GET 要求の応答の圧縮を有効にします。

AppArmor

Docker を使用する際に Linux ノードで AppArmor ベースの必須 no アクセス制御を有効にします。詳細は、Kubernetes AppArmor ドキュメント を参照してください。

BlockVolume

Pod で raw ブロックデバイスの定義および消費を可能にします。詳細は、Kubernetes Raw Block Volume Support を参照してください。

CPUManager

コンテナーレベルの CPU アフィニティーサポートを有効にします。詳細は、Using CPU Manager を参照してください。

CRIContainerLogRotation

CRI コンテナーランタイムのコンテナーログのローテーションを有効にします。

CSIPersistentVolume

CSI (Container Storage Interface) と互換性のあるボリュームプラグインでプロビジョニングされるボリュームの検出およびモニターを有効にします。詳細は、CSI Volume Plugins(Kubernetes Design ドキュメント) を参照してください。

CustomPodDNS

dnsConfig プロパティーを使用した Pod の DNS 設定のカスタマイズを有効にします。

CustomResourceSubresources

CustomResourceDefinition で作成されたリソースで /status および /scale サブリソースを有効にします。カスタムリソースによる Kubernetes API の拡張 を参照してください。

CustomResourceValidation

カスタムリソース定義で作成されたリソースでスキーマベースの検証を有効にします。詳細は、カスタムリソースによる Kubernetes API の拡張 を参照してください。

DebugContainers

実行中の Pod のトラブルシューティングのために Pod の namespace でのデバッグコンテナーの実行を有効にします。

DevicePlugins

ノード上で デバイスプラグインベース のリソースのプロビジョニングを有効にします。

DynamicKubeletConfig

クラスター内で動的な設定を有効にします。

DynamicVolumeProvisioning(deprecated)

永続ボリュームの Pod への動的プロビジョニングを有効にします。

EnableEquivalenceClassCache

Pod のスケジュール時のスケジューラーによるノードの同等内容のキャッシュを有効にします。

ExperimentalCriticalPodAnnotation

特定の Pod に Critical のアノテーションを付け、それらのスケジューリングが保証されるようにします。

ExperimentalHostUserNamespaceDefaultingGate

ユーザー namespace の無効化を可能にします。これは、権限の付けられた他のホストプロジェクト、ホストマウント、またはコンテナーを使用するか、または MKNODE、SYS_MODULE などの特定のプロジェクト以外の機能を使用するコンテナー用です。これは、ユーザープロジェクトの再マップが Docker デーモンで有効にされる場合にのみ有効にされる必要があります。

GCERegionalPersistentDisk

GCE 永続ディスク 機能を有効にします。

HugePages

事前に割り当てられた Huge Page の割り当ておよび消費を有効にします。

HyperVContainer

Windows コンテナーの Hyper-V の分離を有効にします。

Intializers

ビルトインの受付コントローラーの拡張として 動的な受付制御 を有効にします。

LocalStorageCapacityIsolation

ローカルの一時ストレージの消費、および emptyDir ボリュームの sizeLimit プロパティーを有効にします。

MountContainers

ホストでのユーティリティーコンテナーのボリュームマウントとしての使用を有効にします。

MountPropagation

1 つのコンテナーでマウントされたボリュームの他のコンテナーまたは Pod との共有を有効にします。

PersistentLocalVolumes

ローカルボリューム Pod の使用を有効にします。Pod のアフィニティーは、ローカルボリュームを要求する場合に指定される必要があります。

PodPriority

優先順位に基づく Pod の 再スケジュール (Descheduling) およびプリエンプションを有効にします。

ReadOnlyAPIDataVolumes

シークレットConfigMap、DownwardAPI、および Projected ボリューム が読み取り専用モードでマウントされるように設定します。

ResourceLimitsPriorityFunction

最も低いスコアの 1 を、1 つ違法の入力 Pod CPU およびメモリー制限を満たすノードを割り当てる scheduler の優先度関数を有効にします。これは、同じスコアを持つノード間の関連性を切り離すことを目的としています。

RotateKubeletClientCertificate

クラスター上でのクラスター TLS 証明書のローテーションを有効にします。

RotateKubeletServerCertificate

クラスター上でのサーバー TLS 証明書のローテーションを有効にします。

RunAsGroup

コンテナーの init プロセスのプライマリーグループ ID セットに対する制御を有効にします。

ScheduleDaemonSetPods

DaemonSet Pod を DaemonSet コントローラーではなく デフォルトスケジューラー でスケジュールされることを可能にします。

ServiceNodeExclusion

クラウドプロバイダーで作成されたロードバランサーからのノードの除外を有効にします。

StorageObjectInUseProtection

永続ボリューム または Persistent Volume Claim (永続ボリューム要求、PVC) オブジェクトが依然として使用されている場合、これらの削除の延期を有効にします。

StreamingProxyRedirects

API サーバーに対し、ストリーミング要求についてインターセプトおよびバックエンド kubelet からのリダイレクトをフォローするように指示します。

SupportIPVSProxyMode

IP 仮想サーバーを使用したクラスター内のサービスの負荷分散を有効にします。

SupportPodPidsLimit

Pod で実行されるプロセス数 (PID) を制限するサポートを有効にします。

TaintBasedEvictions

ノードのテイントおよび Pod の容認 に基づく Pod のノードからのエビクトを有効にします。

TaintNodesByCondition

ノードの状態に基づく自動的な ノードのテイント を有効にします。

TokenRequest

サービスアカウントリソースで TokenRequest エンドポイントを有効にします。

VolumeScheduling

ボリュームトポロジー対応のスケジューリングを有効にし、Persistent Volume Claim (永続ボリューム要求、PVC) のバインディングにスケジューリングの意思決定を認識させます。また、PersistentLocalVolumes 機能ゲートと使用される場合の local volumes タイプの使用も有効にします。