diff --git a/_topic_map.yml b/_topic_map.yml index 8d11d960941a..670af93759a9 100644 --- a/_topic_map.yml +++ b/_topic_map.yml @@ -450,7 +450,7 @@ Topics: - Name: Configuring your cluster to place pods on overcommited nodes File: nodes-cluster-overcommit - Name: Disabling features using feature gates - File: nodes-pods-disabling-features + File: nodes-cluster-disabling-features --- Name: Logging Dir: logging diff --git a/modules/nodes-cluster-disabling-features-about.adoc b/modules/nodes-cluster-disabling-features-about.adoc new file mode 100644 index 000000000000..0dfe7b8dabb9 --- /dev/null +++ b/modules/nodes-cluster-disabling-features-about.adoc @@ -0,0 +1,25 @@ +// Module included in the following assemblies: +// +// * nodes/nodes-cluster-disabling-features.adoc + +[id="nodes-pods-cluster-features-about-{context}"] += Understanding how to disable features + +You can use the Feature Gates Custom Resource to toggle on and off Technical Preview features throughout your cluster. + +This allows you, for example, to ensure that Technical Preview features are off for production clusters while leaving the features on for test clusters where you can +fully test them. + +//// +If you disable a feature that appears in the web console, you might see that feature, but +no objects are listed. For example, if you disable builds, you can see the *Builds* tab in the web console, but there are no builds present. + +If you attempt to use commands associated with a disabled feature, such as `oc start-build`, {product-title} +displays an error. + +[NOTE] +==== +If you disable a feature that any application in the cluster relies on, the application might not +function properly, depending upon the feature disabled and how the application uses that feature. +==== +//// diff --git a/modules/nodes-cluster-disabling-features-cluster.adoc b/modules/nodes-cluster-disabling-features-cluster.adoc new file mode 100644 index 000000000000..8ab53c95da50 --- /dev/null +++ b/modules/nodes-cluster-disabling-features-cluster.adoc @@ -0,0 +1,105 @@ +// Module included in the following assemblies: +// +// * nodes/nodes-cluster-disabling-features.adoc + +[id="nodes-cluster-disabling-features-cluster-{context}"] += Enabling Technical Preview features using feature gates + +You can turn Technical Preview features on and off for all nodes in the cluster +by editing the Feature Gates Custom Resource, named *cluster*, in the +*openshift-config* project. + +[NOTE] +==== +Turning on Technical Preview features cannot be undone and prevents upgrades. +==== + +The following features are affected by Feature Gates. + +[options="header"] +|=== +| Feature gate| Description + +| *ExperimentalCriticalPodAnnotation* +| Enables annotating specific pods as critical so that their scheduling is guaranteed. + +| *RotateKubeletServerCertificate* +| Enables the rotation of the server TLS certificate on the cluster. + +| *SupportPodPidsLimit* +| Enables support for limiting the number of processes (PIDs) running in a pod. + +|=== + +.Procedure + +To turn on the Technical Preview features for the entire cluster: + +//The steps to create the instance are for Beta only + +. Create the Feature Gates instance: + +.. Switch to the the *Administration* -> *Custom Resource Definitions* page. + +.. On the *Custom Resource Definitions* page, click *FeatureGate*. + +.. On the *Custom Resource Definitions* page, click the *Actions Menu* and select *View Instances*. + +.. On the *Feature Gates* page, click *Create Feature Gates*. + +.. Replace the code with following: ++ +[source,yaml] +---- +apiVersion: config.openshift.io/v1 +kind: FeatureGate +metadata: + name: cluster +spec: {} +---- + +.. Click *Create*. + +. To turn on the Technical Preview features, change the `spec` parameter to: ++ +---- +apiVersion: config.openshift.io/v1 +kind: FeatureGate +metadata: + name: cluster +spec: + featureSet: TechPreviewNoUpgrade <1> +---- ++ +<1> Add `featureSet: TechPreviewNoUpgrade` to enable the `ExperimentalCriticalPodAnnotation`, `RotateKubeletServerCertificate`, and `SupportPodPidsLimit` features. ++ +[NOTE] +==== +Turning on Technical Preview features cannot be undone and prevents upgrades. +==== + +. To turn off the Technical Preview features, change the `spec` parameter to: ++ +---- +apiVersion: config.openshift.io/v1 +kind: FeatureGate +metadata: + name: cluster +spec: {} <1> +---- ++ +<1> Replace `featureSet: TechPreviewNoUpgrade` with `{}` to disable the `ExperimentalCriticalPodAnnotation`, `RotateKubeletServerCertificate`, and `SupportPodPidsLimit` features. ++ +[NOTE] +==== +Turning off Technical Preview features removes the features but upgrading of your cluster remains disabled. +==== + +After creating the CR, use the following command to get the name of the CR for editing as needed: + +---- +$ oc get FeatureGate cluster -n openshift-config +NAME AGE +cluster 18d +---- + diff --git a/modules/nodes-pods-disabling-features-list.adoc b/modules/nodes-cluster-disabling-features-list.adoc similarity index 98% rename from modules/nodes-pods-disabling-features-list.adoc rename to modules/nodes-cluster-disabling-features-list.adoc index 86917937b488..6b2d5a314cee 100644 --- a/modules/nodes-pods-disabling-features-list.adoc +++ b/modules/nodes-cluster-disabling-features-list.adoc @@ -1,8 +1,8 @@ // Module included in the following assemblies: // -// * nodes/nodes-pods-disabling-features.adoc +// * nodes/nodes-cluster-disabling-features.adoc -[id="nodes-pods-disabling-features-list-{context}"] +[id="nodes-cluster-disabling-features-list-{context}"] = List of feature gates Use the following list to determine the name of the feature you want to disable: diff --git a/modules/nodes-pods-disabling-features-about.adoc b/modules/nodes-pods-disabling-features-about.adoc index 0811d0e7bdca..0d7843dbc8d1 100644 --- a/modules/nodes-pods-disabling-features-about.adoc +++ b/modules/nodes-pods-disabling-features-about.adoc @@ -1,13 +1,16 @@ // Module included in the following assemblies: // -// * nodes/nodes-pods-disabling-features.adoc +// * nodes/nodes-cluster-disabling-features.adoc -[id="nodes-pods-disabling-features-about-{context}"] +[id="nodes-cluster-disabling-features-about-{context}"] = Understanding how to disable features -As an administrator, you can turn off new features for production clusters while leaving the features on for test clusters where you can +You can use the Feature Gates Custom Resource to toggle on and off Technical Preview features throughout your cluster. + +This allows you, for example, to ensure that Technical Preview features are off for production clusters while leaving the features on for test clusters where you can fully test them. +//// If you disable a feature that appears in the web console, you might see that feature, but no objects are listed. For example, if you disable builds, you can see the *Builds* tab in the web console, but there are no builds present. @@ -19,4 +22,4 @@ displays an error. If you disable a feature that any application in the cluster relies on, the application might not function properly, depending upon the feature disabled and how the application uses that feature. ==== - +//// diff --git a/modules/nodes-pods-disabling-features-cluster.adoc b/modules/nodes-pods-disabling-features-cluster.adoc deleted file mode 100644 index b31605268938..000000000000 --- a/modules/nodes-pods-disabling-features-cluster.adoc +++ /dev/null @@ -1,37 +0,0 @@ -// Module included in the following assemblies: -// -// * nodes/nodes-pods-disabling-features.adoc - -[id="nodes-pods-disabling-features-cluster-{context}"] -= Disabling features for a cluster - -You can turn off a feature for all nodes in the cluster. - -.Procedure - -To turn off a feature for the entire cluster: - -. Create a Custom Resource (CR) for feature gates. -+ -For example, the following code enables Dynamic Auditing and disables Custom Pod DNS: -+ -[source,yaml] ----- -apiVersion: config.openshift.io/v1 -kind: FeatureGate -metadata: - name: cluster-feature-gates -spec: - enabled: <1> - - DynamicAuditing - disabled: <2> - - CustomPodDNS ----- -<1> Enter the name of a disabled feature you want enabled. -<2> Enter the name of an enabled feature you want disabled. - -. Create the object: -+ ----- -$ oc create -f .yaml ----- diff --git a/nodes/clusters/nodes-cluster-disabling-features.adoc b/nodes/clusters/nodes-cluster-disabling-features.adoc new file mode 100644 index 000000000000..8436b2be8613 --- /dev/null +++ b/nodes/clusters/nodes-cluster-disabling-features.adoc @@ -0,0 +1,24 @@ +:context: nodes-cluster-disabling +[id="nodes-cluster-disabling"] += Disabling {product-title} features using feature gates +include::modules/common-attributes.adoc[] + +toc::[] + + + + + +As an administrator, you can turn on and off features that are Technical Preview features. + +// The following include statements pull in the module files that comprise +// the assembly. Include any combination of concept, procedure, or reference +// modules required to cover the user story. You can also include other +// assemblies. + +include::modules/nodes-cluster-disabling-features-about.adoc[leveloffset=+1] + +include::modules/nodes-cluster-disabling-features-cluster.adoc[leveloffset=+1] + +// modules/nodes-cluster-disabling-features-list.adoc[leveloffset=+1] + diff --git a/nodes/clusters/nodes-pods-disabling-features.adoc b/nodes/clusters/nodes-pods-disabling-features.adoc deleted file mode 100644 index f168e46c28dd..000000000000 --- a/nodes/clusters/nodes-pods-disabling-features.adoc +++ /dev/null @@ -1,24 +0,0 @@ -:context: nodes-pods-disabling -[id="nodes-pods-disabling"] -= Disabling {product-title} features using feature gates -include::modules/common-attributes.adoc[] - -toc::[] - - - - - -As an administrator, you can turn off specific features to specific nodes or to the entire platform using feature gates. - -// The following include statements pull in the module files that comprise -// the assembly. Include any combination of concept, procedure, or reference -// modules required to cover the user story. You can also include other -// assemblies. - -include::modules/nodes-pods-disabling-features-about.adoc[leveloffset=+1] - -include::modules/nodes-pods-disabling-features-cluster.adoc[leveloffset=+1] - -include::modules/nodes-pods-disabling-features-list.adoc[leveloffset=+1] -