This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.第45章 機能ゲートの使用による各種機能の無効化
管理者として、機能ゲート を使用して特定のノードまたはプラットフォーム全体に対して特定の機能をオフにすることができます。
たとえば、新規の機能を完全にテストできるテストクラスターで有効にした状態で、これらの機能を実稼働クラスターでオフにすることができます。
Web コンソールに表示される機能を無効にする場合、その機能を確認できる可能性がありますが、オブジェクトは一覧表示されません。たとえば、ビルドを無効にする場合、Web コンソールで Builds タブを表示できますが、ビルドは表示されません。
oc start-build
などの無効にされた機能に関連付けられたコマンドの使用を試行する場合、OpenShift Container Platform はエラーを表示します。
クラスター内のアプリケーションが依存する機能を無効にする場合、アプリケーションは無効にされた機能およびアプリケーションがその機能を使用する方法によって適切に機能しなくなる場合があります。
機能ゲートは、ブロックする必要のある機能を記述したマスター設定ファイル (/etc/origin/master/master-config.yaml) およびノード設定ファイルで key=value
のペアを使用します。
ノード設定ファイルを変更するには、ノード設定マップを必要に応じて更新します。node-config.yaml
ファイルは手動で変更しないようにしてください。
たとえば、以下のコードは Huge Page 機能をオフにします。
45.1. クラスターの各種機能の無効化 リンクのコピーリンクがクリップボードにコピーされました!
クラスター全体の機能をオフにするには、マスター設定ファイル (デフォルトは /etc/origin/master/master-config.yaml) を編集します。
オフにする必要のある機能については、
<feature_name>=false
をapiServerArguments
およびcontrollerArguments
の下に入力します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更を有効にするために OpenShift Container Platform マスターサービスを再起動します。
master-restart api master-restart controllers
# master-restart api # master-restart controllers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
45.2. ノードの各種機能の無効化 リンクのコピーリンクがクリップボードにコピーされました!
クラスター全体の機能をオフにするには、適切なノード設定マップを編集します。
ノード設定ファイルを変更するには、ノード設定マップを必要に応じて更新します。node-config.yaml
ファイルは手動で変更しないようにしてください。
オフにする必要のある機能については、
<feature_name>=false
を「proxyArguments」の下に入力します。以下に例を示します。
proxyArguments: feature-gates: - HugePages=false
proxyArguments: feature-gates: - HugePages=false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更を有効するために OpenShift Container Platform サービスを再起動します。
systemctl restart atomic-openshift-node
# systemctl restart atomic-openshift-node
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
無効にされた機能を再度有効にするには、マスターおよびノード設定ファイルを編集して <feature_name>=false
を削除し、マスターおよびノードサービスを再起動します。
ノード設定ファイルを変更するには、ノード設定マップを必要に応じて更新します。node-config.yaml
ファイルは手動で変更しないようにしてください。
45.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 設定のカスタマイズを有効にします。詳細は、「Serving Information Configuration」を参照してください。 |
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 機能ゲートと使用される場合のローカルボリュームタイプの使用も有効にします。 |