5.12. FeatureGate の使用によるテクノロジープレビュー機能の有効化
FeatureGate
カスタムリソース (CR) を編集して、クラスターのすべてのノードに対して現在のテクノロジープレビュー機能のサブセットをオンにすることができます。
5.12.1. フィーチャーゲートについて
FeatureGate
カスタムリソース (CR) を使用して、クラスター内の特定の機能セットを有効にすることができます。機能セットは、デフォルトで有効にされない OpenShift Container Platform 機能のコレクションです。
FeatureGate
CR を使用して、以下の機能セットをアクティブにすることができます。
TechPreviewNoUpgrade
.この機能セットは、現在のテクノロジープレビュー機能のサブセットです。この機能セットを使用すると、テストクラスターでこれらのテクノロジープレビュー機能を有効にすることができます。そこでは、これらの機能を完全にテストできますが、運用クラスターでは機能を無効にしたままにできます。警告クラスターで
TechPreviewNoUpgrade
機能セットを有効にすると、元に戻すことができず、マイナーバージョンの更新が妨げられます。本番クラスターでは、この機能セットを有効にしないでください。この機能セットにより、以下のテクノロジープレビュー機能が有効になります。
-
外部クラウドプロバイダー。vSphere、AWS、Azure、GCP 上にあるクラスターの外部クラウドプロバイダーのサポートを有効にします。OpenStack のサポートは GA です。これは内部機能であり、ほとんどのユーザーは操作する必要はありません。(
ExternalCloudProvider
) -
OpenShift Builds の共有リソース CSI ドライバー。Container Storage Interface (CSI) を有効にします。(
CSIDriverSharedResource
) -
ノード上のスワップメモリー。ノードごとに OpenShift Container Platform ワークロードのスワップメモリーの使用を有効にします。(
NodeSwap
) -
OpenStack Machine API プロバイダー。このゲートは効果がなく、今後のリリースでこの機能セットから削除される予定です。(
MachineAPIProviderOpenStack
) -
Insights Operator。
InsightsDataGather
CRD を有効にし、ユーザーがいくつかの Insights データ収集オプションを設定できるようにします。この機能セットにより、DataGather
CRD も有効になり、ユーザーがオンデマンドで Insights データ収集を実行できるようになります。(InsightsConfigAPI
) -
Retroactive デフォルトストレージクラス。PVC 作成時にデフォルトのストレージクラスがない場合に、OpenShift Container Platform は PVC に対してデフォルトのストレージクラスを遡及的に割り当てることができます。(
RetroactiveDefaultStorageClass
) -
動的リソース割り当て API。Pod とコンテナー間でリソースを要求および共有するための新しい API が有効になります。これは内部機能であり、ほとんどのユーザーは操作する必要はありません。(
DynamicResourceAllocation
) -
Pod セキュリティーアドミッションの適用。Pod セキュリティーアドミッションの制限付き強制モードを有効にします。警告をログに記録するだけでなく、Pod のセキュリティー基準に違反している場合、Pod は拒否されます。(
OpenShiftPodSecurityAdmission
) -
StatefulSet Pod の可用性アップグレードの制限。ユーザーは、更新中に使用できないステートフルセット Pod の最大数を定義できるため、アプリケーションのダウンタイムが削減されます。(
MaxUnavailableStatefulSet
) -
MatchConditions
は、この Webhook にリクエストを送信するために満たす必要がある条件のリストです。Match Conditions は、ルール、namespaceSelector、および objectSelector ですでに一致しているリクエストをフィルター処理します。matchConditions
の空のリストは、すべてのリクエストに一致します。(admissionWebhookMatchConditions
) -
gcpLabelsTags
-
vSphereStaticIPs
-
routeExternalCertificate
-
automatedEtcdBackup
-
gcpClusterHostedDNS
-
vSphereControlPlaneMachineset
-
dnsNameResolver
-
machineConfigNodes
-
metricsServer
-
installAlternateInfrastructureAWS
-
sdnLiveMigration
-
mixedCPUsAllocation
-
managedBootImages
-
onClusterBuild
-
signatureStores
-
DisableKubeletCloudCredentialProviders
-
BareMetalLoadBalancer
-
ClusterAPIInstallAWS
-
ClusterAPIInstallNutanix
-
ClusterAPIInstallOpenStack
-
ClusterAPIInstallVSphere
-
HardwareSpeed
-
KMSv1
-
NetworkDiagnosticsConfig
-
VSphereDriverConfiguration
-
ExternalOIDC
-
ChunkSizeMiB
-
ClusterAPIInstallGCP
-
ClusterAPIInstallPowerVS
-
EtcdBackendQuota
-
例
-
ImagePolicy
-
InsightsConfig
-
InsightsOnDemandDataGather
-
MetricsCollectionProfiles
-
NewOLM
-
NodeDisruptionPolicy
-
PinnedImages
-
PlatformOperators
-
ServiceAccountTokenNodeBinding
-
ServiceAccountTokenNodeBindingValidation
-
ServiceAccountTokenPodNodeInfo
-
TranslateStreamCloseWebsocketRequests
-
UpgradeStatus
-
VSphereMultiVCenters
-
VolumeGroupSnapshot
-
外部クラウドプロバイダー。vSphere、AWS、Azure、GCP 上にあるクラスターの外部クラウドプロバイダーのサポートを有効にします。OpenStack のサポートは GA です。これは内部機能であり、ほとんどのユーザーは操作する必要はありません。(
5.12.2. Web コンソールで機能セットの有効化
FeatureGate
カスタムリソース (CR) を編集して、OpenShift Container Platform Web コンソールを使用してクラスター内のすべてのノードの機能セットを有効にすることができます。
手順
機能セットを有効にするには、以下を実行します。
-
OpenShift Container Platform Web コンソールで、Administration
Custom Resource Definitions ページに切り替えます。 - Custom Resource Definitions ページで、FeatureGate をクリックします。
- Custom Resource Definition Details ページで、Instances タブをクリックします。
- cluster フィーチャーゲートをクリックし、YAML タブをクリックします。
cluster インスタンスを編集して特定の機能セットを追加します。
警告クラスターで
TechPreviewNoUpgrade
機能セットを有効にすると、元に戻すことができず、マイナーバージョンの更新が妨げられます。本番クラスターでは、この機能セットを有効にしないでください。フィーチャーゲートカスタムリソースのサンプル
apiVersion: config.openshift.io/v1 kind: FeatureGate metadata: name: cluster 1 # ... spec: featureSet: TechPreviewNoUpgrade 2
変更を保存すると、新規マシン設定が作成され、マシン設定プールが更新され、変更が適用されている間に各ノードのスケジューリングが無効になります。
検証
ノードが準備完了状態に戻った後、ノード上の kubelet.conf
ファイルを確認することで、フィーチャーゲートが有効になっていることを確認できます。
-
Web コンソールの Administrator パースペクティブで、Compute
Nodes に移動します。 - ノードを選択します。
- Node details ページで Terminal をクリックします。
ターミナルウィンドウで、root ディレクトリーを
/host
に切り替えます。sh-4.2# chroot /host
kubelet.conf
ファイルを表示します。sh-4.2# cat /etc/kubernetes/kubelet.conf
出力例
# ... featureGates: InsightsOperatorPullingSCA: true, LegacyNodeRoleBehavior: false # ...
true
として一覧表示されている機能は、クラスターで有効になっています。注記一覧表示される機能は、OpenShift Container Platform のバージョンによって異なります。
5.12.3. CLI を使用した機能セットの有効化
FeatureGate
カスタムリソース (CR) を編集し、OpenShift CLI (oc
) を使用してクラスター内のすべてのノードの機能セットを有効にすることができます。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。
手順
機能セットを有効にするには、以下を実行します。
cluster
という名前のFeatureGate
CR を編集します。$ oc edit featuregate cluster
警告クラスターで
TechPreviewNoUpgrade
機能セットを有効にすると、元に戻すことができず、マイナーバージョンの更新が妨げられます。本番クラスターでは、この機能セットを有効にしないでください。FeatureGate カスタムリソースのサンプル
apiVersion: config.openshift.io/v1 kind: FeatureGate metadata: name: cluster 1 # ... spec: featureSet: TechPreviewNoUpgrade 2
変更を保存すると、新規マシン設定が作成され、マシン設定プールが更新され、変更が適用されている間に各ノードのスケジューリングが無効になります。
検証
ノードが準備完了状態に戻った後、ノード上の kubelet.conf
ファイルを確認することで、フィーチャーゲートが有効になっていることを確認できます。
-
Web コンソールの Administrator パースペクティブで、Compute
Nodes に移動します。 - ノードを選択します。
- Node details ページで Terminal をクリックします。
ターミナルウィンドウで、root ディレクトリーを
/host
に切り替えます。sh-4.2# chroot /host
kubelet.conf
ファイルを表示します。sh-4.2# cat /etc/kubernetes/kubelet.conf
出力例
# ... featureGates: InsightsOperatorPullingSCA: true, LegacyNodeRoleBehavior: false # ...
true
として一覧表示されている機能は、クラスターで有効になっています。注記一覧表示される機能は、OpenShift Container Platform のバージョンによって異なります。