7.6. FeatureGate の使用による OpenShift Container Platform 機能の有効化

管理者は、機能ゲートを使用してデフォルトの機能セットの一部ではない機能を有効にできます。

7.6.1. 機能ゲートについて

FeatureGate カスタムリソース (CR) を使用して、クラスター内の特定の機能セットを有効にすることができます。機能セットは、デフォルトで有効にされない OpenShift Container Platform 機能のコレクションです。

FeatureGate CR を使用して以下の機能セットのいずれかをアクティブにすることができます。

  • TechPreviewNoUpgrade.この機能セットは、現在のテクノロジープレビュー機能のサブセットです。この機能セットにより、実稼働クラスターではこれらのテクノロジープレビュー機能を無効にし、テストクラスターで機能を有効にして十分にテストを行うことができます。この機能セットを有効にすると元に戻すことができなくなり、マイナーバージョン更新ができなくなります。この機能セットは、実稼働クラスターでは推奨されません。

    警告

    クラスターで TechPreviewNoUpgrade 機能セットを有効にすると、元に戻すことができず、マイナーバージョンの更新が妨げられます。本番クラスターでは、この機能セットを有効にしないでください。

    この機能セットにより、以下のテクノロジープレビュー機能が有効になります。

    • Azure Disk CSI Driver Operator。Microsoft Azure Disk Storage に Container Storage Interface (CSI) ドライバーを使用して、永続ボリューム (PV) のプロビジョニングを有効にします。
    • VMware vSphere CSI Driver Operator。Virtual Machine Disk (VMDK) ボリュームに Container Storage Interface (CSI) VMware vSphere ドライバーを使用して、永続ボリューム (PV) のプロビジョニングを有効にします。
    • CSI の自動移行:サポートされているインツリーのボリュームプラグインを同等の Container Storage Interface (CSI) ドライバーに自動的に移行できます。テクノロジープレビューとして利用可能な対象は以下のとおりです。

      • Amazon Web Services (AWS) Elastic Block Storage (EBS)
      • OpenStack Cinder
      • Azure Disk
      • Azure File
      • Google Cloud Platform Persistent Disk (CSI)
      • VMware vSphere
    • Cluster Cloud Controller Manager Operator:インツリーのクラウドコントローラーではなく、Cluster Cloud Controller Manager Operator を有効にします。テクノロジープレビューとして利用可能な対象は以下のとおりです。

      • Amazon Web Services (AWS)
      • Microsoft Azure
      • Red Hat OpenStack Platform (RHOSP)
    • Insights OperatorRed Hat OpenShift Cluster Manager からの RHEL Simple Content Access (SCA) 証明書のインポートを有効にします。

7.6.2. Web コンソールで機能セットの有効化

FeatureGate カスタムリソース (CR) を編集して、OpenShift Container Platform Web コンソールを使用してクラスター内のすべてのノードの機能セットを有効にすることができます。

手順

機能セットを有効にするには、以下を実行します。

  1. OpenShift Container Platform Web コンソールで、AdministrationCustom Resource Definitions ページに切り替えます。
  2. Custom Resource Definitions ページで、FeatureGate をクリックします。
  3. Custom Resource Definition Details ページで、 Instances タブをクリックします。
  4. cluster 機能ゲートをクリックしてから、YAML タブをクリックします。
  5. cluster インスタンスを編集して特定の機能セットを追加します。

    警告

    クラスターで TechPreviewNoUpgrade 機能セットを有効にすると、元に戻すことができず、マイナーバージョンの更新が妨げられます。本番クラスターでは、この機能セットを有効にしないでください。

    機能ゲートカスタムリソースのサンプル

    apiVersion: config.openshift.io/v1
    kind: FeatureGate
    metadata:
      name: cluster 1
    ....
    
    spec:
      featureSet: TechPreviewNoUpgrade 2

    1
    FeatureGate CR の名前は cluster である必要があります。
    2
    有効にする機能セットを追加します。
    • TechPreviewNoUpgrade は、特定のテクノロジープレビュー機能を有効にします。

    変更を保存すると、新規マシン設定が作成され、マシン設定プールが更新され、変更が適用されている間に各ノードのスケジューリングが無効になります。

検証

ノードが Ready 状態に戻ると、ノードの kubelet.conf ファイルを確認して機能ゲートが有効になっていることを確認できます。

  1. Web コンソールの Administrator パースペクティブで、ComputeNodes に移動します。
  2. ノードを選択します。
  3. Node details ページで Terminal をクリックします。
  4. ターミナルウィンドウで、root ディレクトリーを /host に切り替えます。

    sh-4.2# chroot /host
  5. kubelet.conf ファイルを表示します。

    sh-4.2# cat /etc/kubernetes/kubelet.conf

    出力例

     ...
    featureGates:
      InsightsOperatorPullingSCA: true,
      LegacyNodeRoleBehavior: false
     ...

    true として一覧表示されている機能は、クラスターで有効になっています。

    注記

    一覧表示される機能は、OpenShift Container Platform のバージョンによって異なります。

7.6.3. CLI を使用した機能セットの有効化

FeatureGate カスタムリソース (CR) を編集し、OpenShift CLI (oc) を使用してクラスター内のすべてのノードの機能セットを有効にすることができます。

前提条件

  • OpenShift CLI (oc) がインストールされている。

手順

機能セットを有効にするには、以下を実行します。

  1. cluster という名前の FeatureGate CR を編集します。

    $ oc edit featuregate cluster
    警告

    クラスターで TechPreviewNoUpgrade 機能セットを有効にすると、元に戻すことができず、マイナーバージョンの更新が妨げられます。本番クラスターでは、この機能セットを有効にしないでください。

    FeatureGate カスタムリソースのサンプル

    apiVersion: config.openshift.io/v1
    kind: FeatureGate
    metadata:
      name: cluster 1
    spec:
      featureSet: TechPreviewNoUpgrade 2

    1
    FeatureGate CR の名前は cluster である必要があります。
    2
    有効にする機能セットを追加します。
    • TechPreviewNoUpgrade は、特定のテクノロジープレビュー機能を有効にします。

    変更を保存すると、新規マシン設定が作成され、マシン設定プールが更新され、変更が適用されている間に各ノードのスケジューリングが無効になります。

検証

ノードが Ready 状態に戻ると、ノードの kubelet.conf ファイルを確認して機能ゲートが有効になっていることを確認できます。

  1. Web コンソールの Administrator パースペクティブで、ComputeNodes に移動します。
  2. ノードを選択します。
  3. Node details ページで Terminal をクリックします。
  4. ターミナルウィンドウで、root ディレクトリーを /host に切り替えます。

    sh-4.2# chroot /host
  5. kubelet.conf ファイルを表示します。

    sh-4.2# cat /etc/kubernetes/kubelet.conf

    出力例

     ...
    featureGates:
      InsightsOperatorPullingSCA: true,
      LegacyNodeRoleBehavior: false
     ...

    true として一覧表示されている機能は、クラスターで有効になっています。

    注記

    一覧表示される機能は、OpenShift Container Platform のバージョンによって異なります。