44.2. ノードの各種機能の無効化
ノードホストの機能をオフにするには、適切な ノード設定マップ を編集します。
ノード設定ファイルを変更するには、ノード設定マップ を必要に応じて更新します。node-config.yaml
ファイルは手動で変更しないようにしてください。
オフにする必要のある機能については、
<feature_name>=false
をkubeletArguments
の下に入力します。以下に例を示します。
kubeletArguments: feature-gates: - HugePages=false
複数の機能ゲートを 1 つのコンマ区切り行で指定します。
kubeletArguments: feature-gates: - RotateKubeletClientCertificate=false,RotateKubeletServerCertificate=false,ExpandPersistentVolumes=true,HugePages=false
変更を有効にするために 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 ボリュームの |
MountContainers | ホストでのユーティリティーコンテナーのボリュームマウントとしての使用を有効にします。 |
MountPropagation | 1 つのコンテナーでマウントされたボリュームの他のコンテナーまたは Pod との共有を有効にします。 |
PersistentLocalVolumes | ローカルボリューム Pod の使用を有効にします。Pod のアフィニティーは、ローカルボリュームを要求する場合に指定される必要があります。 |
PodPriority | 優先順位に基づく Pod の 再スケジュール (Descheduling) およびプリエンプションを有効にします。 |
ReadOnlyAPIDataVolumes | シークレット、ConfigMap、DownwardAPI、および Projected ボリューム が読み取り専用モードでマウントされるように設定します。 |
ResourceLimitsPriorityFunction |
最も低いスコアの |
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 タイプの使用も有効にします。 |