Skip to content

Commit d1c5bd0

Browse files
committed
OSDOCS-16491: adds feature gates MicroShift
1 parent 45f9a90 commit d1c5bd0

9 files changed

+112
-1
lines changed

_topic_maps/_topic_map_ms.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,8 @@ Topics:
135135
File: microshift-node-access-kubeconfig
136136
- Name: About the Generic Device Plugin
137137
File: microshift-gdp
138+
- Name: Using feature gates to develop solutions
139+
File: microshift-feature-gates
138140
- Name: Configuring MicroShift authentication and security
139141
Dir: microshift_auth_security
140142
Topics:
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
:_mod-docs-content-type: ASSEMBLY
2+
[id="microshift-feature-gates"]
3+
= Using feature gates to develop solutions for your applications
4+
include::_attributes/attributes-microshift.adoc[]
5+
:context: microshift-feature-gates
6+
7+
toc::[]
8+
9+
[role="_abstract"]
10+
Use feature gates to test new Kubernetes features for potential use in your {microshift-short} deployments.
11+
12+
include::modules/microshift-feature-gates-con.adoc[leveloffset=+1]
13+
14+
include::modules/microshift-feature-gates-using.adoc[leveloffset=+1]

microshift_configuring/microshift-using-config-yaml.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ include::_attributes/attributes-microshift.adoc[]
66

77
toc::[]
88

9+
[role="_abstract"]
910
Use the {microshift-short} YAML file to customize your preferences, settings, and parameters.
1011

1112
:FeatureName: The Generic Device Plugin for {microshift-short}

modules/microshift-config-nodeport-limits.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[id="microshift-nodeport-range-limits_{context}"]
77
= Extending the port range for NodePort services
88

9+
[role="_abstract"]
910
The `serviceNodePortRange` setting extends the port range available to NodePort services. This option is useful when specific standard ports under the `30000-32767` range need to be exposed. For example, if your device needs to expose the `1883/tcp` MQ Telemetry Transport (MQTT) port on the network because client devices cannot use a different port.
1011

1112
[IMPORTANT]

modules/microshift-config-parameters-table.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[id="microshift-config-parameters-table_{context}"]
77
= Parameters and values for the {microshift-short} config.yaml file
88

9+
[role="_abstract"]
910
The following table explains {microshift-short} configuration YAML parameters and valid values for each:
1011

1112
.{microshift-short} `config.yaml` parameters

modules/microshift-config-yaml-custom.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[id="microshift-yaml-custom_{context}"]
77
= Using custom settings
88

9+
[role="_abstract"]
910
To create custom configurations, make a copy of the `config.yaml.default` file that is given in the `/etc/microshift/` directory, renaming it `config.yaml`. Keep this file in the `/etc/microshift/` directory, and then you can change supported settings that override the defaults before starting or restarting {microshift-short}.
1011

1112
If you have just a few changes to make to the default settings, consider using configuration drop-in snippets as an alternative method.
@@ -22,4 +23,4 @@ Applications and other optional services used with your {microshift-short} node
2223
[TIP]
2324
====
2425
If you add all of the configurations you need at the same time, you can minimize system restarts.
25-
====
26+
====
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Module included in the following assemblies:
2+
//
3+
// microshift_configuring/microshift-feature-gates.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="microshift-feature-gates-con_{context}"]
7+
= Understanding feature gates for {microshift-short}
8+
9+
[role="_abstract"]
10+
As an application developer for edge computing environments, you can now experiment with upcoming Kubernetes features to evaluate their potential benefits for specific use cases.
11+
12+
By using feature gates, you can test various enhancements that might improve performance in your resource-constrained edge environments. For example, you can try advanced CPU management, enhanced scheduling features, or experimental storage options.
13+
14+
[WARNING]
15+
====
16+
When you trial new features using feature gates, your {microshift-short} can become unstable or lose data. Enable feature gates only in non-production environments.
17+
====
18+
19+
When planning to use feature gates for development, consider the following details:
20+
21+
* After you specify feature gates, you cannot update {microshift-short}.
22+
* If you are configuration is not valid, {microshift-short} can fail to start.
23+
* The Kubernetes components you enable handle feature gate validation.
24+
* Feature gates are disabled by default in {microshift-short}. After you enable feature gates, you cannot disable them.
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
// Module included in the following assemblies:
2+
//
3+
// microshift_configuring/microshift-feature-gates.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="microshift-feature-gates-using_{context}"]
7+
= Using feature gates for {microshift-short}
8+
9+
[role="_abstract"]
10+
To use feature gates in your development environment, you must specify them in the `config.yaml` file or create a configuration snippet file. You must also configure the feature set you want to work with.
11+
12+
[IMPORTANT]
13+
====
14+
* A `config.yaml` configuration file takes precedence over built-in settings. The `config.yaml` file is read every time the {microshift-short} service starts.
15+
* Configuration snippet YAMLs take precedence over both built-in settings and the `config.yaml` configuration file.
16+
* After you enable feature gates, you cannot disable them.
17+
====
18+
19+
.Prerequisites
20+
21+
* You installed {microshift-short}.
22+
* You installed the `oc-first`.
23+
* You have `sudo` privileges on the {microshift-short} host.
24+
25+
.Procedure
26+
27+
. Apply features gates in one of the two following ways:
28+
29+
.. Update the {microshift-short} `config.yaml` configuration file by making a copy of the provided `config.yaml.default` file in the `/etc/microshift/` directory. Name it `config.yaml` and keep it in the source directory.
30+
31+
.. Use a configuration snippet to apply the ingress control settings you want. To do this, create a configuration snippet YAML file and put it in the `/etc/microshift/config.d/` configuration directory. For example, `/etc/microshift/config.d/10-fg.yaml`.
32+
33+
. Replace the default values in the `xyz` section of the {microshift-short} YAML with your valid values, or create a configuration snippet file with the sections you need.
34+
+
35+
.Feature gates configuration with example values
36+
[source,yaml]
37+
----
38+
# ...
39+
apiServer:
40+
featureGates:
41+
featureSet: TechPreviewNoUpgrade
42+
# ...
43+
apiServer:
44+
featureGates:
45+
featureSet: CustomNoUpgrade
46+
customNoUpgrade:
47+
enabled:
48+
- "CPUManagerPolicyAlphaOptions"
49+
- "MemoryQoS"
50+
disabled:
51+
- "SomeDefaultEnabledFeature"
52+
# ...
53+
----
54+
55+
. Use the following configuration rules:
56+
.. You must set the `featureSet` field when configuring feature gates.
57+
.. When you use `customNoUpgrade` feature, you must set the `featureSet` to `CustomNoUpgrade`. The `customNoUpgrade` field is only valid when `featureSet: CustomNoUpgrade`.
58+
59+
. Configure any settings required for the feature set you want to work with.
60+
61+
. Restart {microshift-short} to apply the configuration changes by running the following command:
62+
+
63+
[source,terminal]
64+
----
65+
$ sudo systemctl restart microshift
66+
----

modules/microshift-nw-advertise-address.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[id="microshift-yaml-advertiseAddress_{context}"]
77
= Configuring the advertise address network flag
88

9+
[role="_abstract"]
910
The `apiserver.advertiseAddress` flag specifies the IP address on which to advertise the API server to members of the node. This address must be reachable by the node. You can set a custom IP address here, but you must also add the IP address to a host interface. Customizing this parameter preempts {microshift-short} from adding a default IP address to the `br-ex` network interface.
1011

1112
[IMPORTANT]

0 commit comments

Comments
 (0)