フィーチャー ゲート


このページでは、Kubernetes フィーチャー ゲートが Google Kubernetes Engine(GKE)でどのように機能するかについて説明します。フィーチャー ゲートは、Kubernetes 機能を記述する一連の Key-Value ペアです。GKE クラスタの Kubernetes フィーチャー ゲートは変更できません。

Kubernetes プロジェクトでは、新機能がステージで段階的にリリースされます。機能は、アルファ版、ベータ版、一般提供ステージのいずれかです。

バージョン 1.26 以降を実行しているクラスタで有効な機能を確認するには、フィーチャー ゲートの状態を確認するをご覧ください。

クラスタのコントロール プレーンまたはノードのバージョンに対応する機能のステージを確認するには、Kubernetes ドキュメントのアルファ版またはベータ版の機能のフィーチャー ゲートの表をご覧ください。

GKE の一般提供版 Kubernetes 機能

一般提供(安定ともいいます)Kubernetes 機能はデフォルトで GKE で有効になっており、無効にすることはできません。

GKE の Kubernetes ベータ版の機能

ベータ版機能は通常、GKE でデフォルトで有効になっています。機能の既知の問題を緩和するために、または下位互換性を確保するために、あるいは GKE での機能の統合と認定がまだ完了していないことを理由に、GKE は特定のバージョンの特定のベータ版機能を無効にすることがあります。

バージョン 1.26 以降を実行している GKE クラスタで Kubernetes のベータ版機能を使用する場合は、フィーチャー ゲートの状態を確認して、該当の機能が有効になっていることを確認してください。クラスタで 1.26 より前のバージョンが実行されている場合は、該当の機能をテストすることによって、その機能が有効になっているかどうかを確認できます。

ベータ版の機能が GKE クラスタのコントロール プレーンまたはノードのバージョンで有効になっていることを確認できない場合は、Cloud カスタマーケアにお問い合わせください

GKE の Kubernetes アルファ版の機能

デフォルトでは、Kubernetes アルファ版の機能はすべての GKE クラスタで無効になっています。GKE では、特定のコントロール プレーン バージョンで特定のアルファ版機能が有効になっている場合があります。

Kubernetes アルファ版の機能をすべて有効にするには、アルファ版の Standard クラスタを作成します。

フィーチャー ゲートの状態を確認する

バージョン 1.26 以降を実行しているクラスタでは、kubectl コマンドを実行して、有効になっている機能を確認できます。

GKE クラスタのフィーチャー ゲートの状態を確認するには:

  1. kubectl をインストールしてアクセスを構成します。
  2. 次のコマンドを実行します。

    kubectl get --raw /metrics | grep kubernetes_feature_enabled
    

    出力には、次の例のように、フィーチャー ゲートの名前、対応するステージ("" は一般提供)、フィーチャー ゲートが有効かどうかが表示されます。1 は有効、0 は無効を意味します。

    次の出力例をご覧ください。

    # HELP kubernetes_feature_enabled [BETA] This metric records the data about the stage and enablement of a k8s feature.
    # TYPE kubernetes_feature_enabled gauge
    kubernetes_feature_enabled{name="APIListChunking",stage=""} 1
    kubernetes_feature_enabled{name="APIPriorityAndFairness",stage=""} 1
    kubernetes_feature_enabled{name="APIResponseCompression",stage="BETA"} 1
    kubernetes_feature_enabled{name="APISelfSubjectReview",stage=""} 1
    kubernetes_feature_enabled{name="APIServerIdentity",stage="BETA"} 1
    kubernetes_feature_enabled{name="APIServerTracing",stage="BETA"} 1
    kubernetes_feature_enabled{name="AdmissionWebhookMatchConditions",stage="BETA"} 1
    ...
    

    この出力では、たとえば、APIResponseCompression 機能が有効でベータ版であることが示されています。

次のステップ