Enabling OKD features using FeatureGates
As an administrator, you can use feature gates to enable features that are not part of the default set of features.
Understanding feature gates
You can use the FeatureGate
custom resource (CR) to enable specific feature sets in your cluster. A feature set is a collection of OKD features that are not enabled by default.
You can activate the following feature set by using the FeatureGate
CR:
TechPreviewNoUpgrade
. This feature set is a subset of the current Technology Preview features. This feature set allows you to enable these tech preview features on test clusters, where you can fully test them, while leaving the features disabled on production clusters. Enabling this feature set cannot be undone and prevents minor version updates. This feature set is not recommended on production clusters.The following Technology Preview features are enabled by this feature set:
Microsoft Azure File CSI Driver Operator. Enables the provisioning of persistent volumes (PVs) by using the Container Storage Interface (CSI) driver for Microsoft Azure File Storage.
CSI automatic migration. Enables automatic migration for supported in-tree volume plug-ins to their equivalent Container Storage Interface (CSI) drivers. Supported for:
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. Enables the Cluster Cloud Controller Manager Operator rather than the in-tree cloud controller. Available as a Technology Preview for:
Alibaba Cloud
Amazon Web Services (AWS)
Google Cloud Platform (GCP)
IBM Cloud
Microsoft Azure
OpenStack
VMware vSphere
Shared resource CSI driver
CSI volume support for the OKD build system
Swap memory on nodes
Cluster API. Enables the integrated upstream Cluster API in OKD with the
ClusterAPIEnabled
feature gate. Available as a Technology Preview for:Amazon Web Services (AWS)
Google Cloud Platform (GCP)
Additional resources
For more information on the features activated by the
TechPreviewNoUpgrade
feature gate, see the following topics:
Enabling feature sets using the web console
You can use the OKD web console to enable feature sets for all of the nodes in a cluster by editing the FeatureGate
custom resource (CR).
Procedure
To enable feature sets:
In the OKD web console, switch to the Administration → Custom Resource Definitions page.
On the Custom Resource Definitions page, click FeatureGate.
On the Custom Resource Definition Details page, click the Instances tab.
Click the cluster feature gate, then click the YAML tab.
Edit the cluster instance to add specific feature sets:
Sample Feature Gate custom resource
apiVersion: config.openshift.io/v1
kind: FeatureGate
metadata:
name: cluster (1)
....
spec:
featureSet: TechPreviewNoUpgrade (2)
1 The name of the FeatureGate
CR must becluster
.2 Add the feature set that you want to enable: TechPreviewNoUpgrade
enables specific Technology Preview features.
After you save the changes, new machine configs are created, the machine config pools are updated, and scheduling on each node is disabled while the change is being applied.
Enabling the
TechPreviewNoUpgrade
feature set cannot be undone and prevents minor version updates. These feature sets are not recommended on production clusters.
Verification
You can verify that the feature gates are enabled by looking at the kubelet.conf
file on a node after the nodes return to the ready state.
From the Administrator perspective in the web console, navigate to Compute → Nodes.
Select a node.
In the Node details page, click Terminal.
In the terminal window, change your root directory to the host:
sh-4.2# chroot /host
View the
kubelet.conf
file:sh-4.2# cat /etc/kubernetes/kubelet.conf
Sample output
...
featureGates:
InsightsOperatorPullingSCA: true,
LegacyNodeRoleBehavior: false
...
The features that are listed as
true
are enabled on your cluster.The features listed vary depending upon the OKD version.
Enabling feature sets using the CLI
You can use the OpenShift CLI (oc
) to enable feature sets for all of the nodes in a cluster by editing the FeatureGate
custom resource (CR).
Prerequisites
- You have installed the OpenShift CLI (
oc
).
Procedure
To enable feature sets:
Edit the
FeatureGate
CR namedcluster
:$ oc edit featuregate cluster
Sample FeatureGate custom resource
apiVersion: config.openshift.io/v1
kind: FeatureGate
metadata:
name: cluster (1)
spec:
featureSet: TechPreviewNoUpgrade (2)
1 The name of the FeatureGate
CR must becluster
.2 Add the feature set that you want to enable: TechPreviewNoUpgrade
enables specific Technology Preview features.
After you save the changes, new machine configs are created, the machine config pools are updated, and scheduling on each node is disabled while the change is being applied.
Enabling the
TechPreviewNoUpgrade
feature set cannot be undone and prevents minor version updates. These feature sets are not recommended on production clusters.
Verification
You can verify that the feature gates are enabled by looking at the kubelet.conf
file on a node after the nodes return to the ready state.
Start a debug session for a node:
$ oc debug node/<node_name>
Change your root directory to the host:
sh-4.2# chroot /host
View the
kubelet.conf
file:sh-4.2# cat /etc/kubernetes/kubelet.conf
Sample output
...
featureGates:
InsightsOperatorPullingSCA: true,
LegacyNodeRoleBehavior: false
...
The features that are listed as
true
are enabled on your cluster.The features listed vary depending upon the OKD version.