Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

第44章 機能ゲートの使用による各種機能の無効化

管理者として、機能ゲート を使用して特定のノードまたはプラットフォーム全体に対して特定の機能をオフにすることができます。

たとえば、新規の機能を完全にテストできるテストクラスターで有効にした状態で、これらの機能を実稼働クラスターでオフにすることができます。

Web コンソールに表示される機能を無効にすると、その機能が表示される場合がありますが、オブジェクトは一覧表示されません。無効にされた機能に関連付けられたコマンドを使用しようとすると、OpenShift Container Platform にエラーが表示されます。

注記

クラスター内のアプリケーションが依存する機能を無効にする場合、アプリケーションは無効にされた機能およびアプリケーションがその機能を使用する方法によっては適切に機能しなくなる場合があります。

機能ゲートは、ブロックする必要のある機能を記述したマスター設定ファイル (/etc/origin/master/master-config.yaml) およびノード設定ファイルで key=value のペアを使用します。

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

たとえば、以下のコードは Huge Page 機能をオフにします。

kubernetesMasterConfig:
  apiServerArguments:
    feature-gates:
    - HugePages=false 1
  ...
  controllerArguments:
    feature-gates:
    - HugePages=false 2
1 2
機能をオフにするキー/値のペア:
  • true: 指定された機能を有効にします。
  • false: 指定された機能を無効にします。

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

kubeletArguments:
  feature-gates:
  - RotateKubeletClientCertificate=true,RotateKubeletServerCertificate=true,ExpandPersistentVolumes=true,HugePages=false

44.1. クラスターの各種機能の無効化

クラスター全体の機能をオフにするには、マスター設定ファイル (デフォルトは /etc/origin/master/master-config.yaml) を編集します。

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

    以下に例を示します。

    kubernetesMasterConfig:
      apiServerArguments:
        feature-gates:
        - HugePages=false
      controllerArguments:
        feature-gates:
        - HugePages=false

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

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

    # master-restart api
    # master-restart controllers

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